From Karli.Sjoberg at slu.se Mon Jul 30 09:25:49 2012 Content-Type: multipart/mixed; boundary="===============3149370670829063331==" MIME-Version: 1.0 From: =?utf-8?q?Karli_Sj=C3=B6berg_=3CKarli=2ESjoberg_at_slu=2Ese=3E?= To: users at ovirt.org Subject: Re: [Users] RFE: A manual way of saying that only hostA in a DC shall be used as proxy for power commands Date: Mon, 30 Jul 2012 15:25:46 +0200 Message-ID: In-Reply-To: 5016613A.5070905@redhat.com --===============3149370670829063331== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --_000_B3844C3FAAB14C54AEA5A34ACFE02BDDsluse_ Content-Type: text/plain; charset=3D"iso-8859-1" Content-Transfer-Encoding: quoted-printable 30 jul 2012 kl. 12.26 skrev Itamar Heim: On 07/30/2012 12:03 PM, Karli Sj=3DF6berg wrote: 30 jul 2012 kl. 11.01 skrev Itamar Heim: On 07/30/2012 08:56 AM, Karli Sj=3DF6berg wrote: 28 jul 2012 kl. 14.11 skrev Moti Asayag: On 07/26/2012 02:53 PM, Karli Sj=3DF6berg wrote: Hi, In my DC, I have three hosts added: hostA hostB hostC I want a way to force only to use hostA as a proxy for power commands. The algorithm of selection a host to act as a proxy for PM commands is quite naive: any host from the system with status UP. You can see how it is being selected in FencingExecutor.FindVdsToFence() from ovirt-engine/backend/manager/modules/bll/src/main/java/org/ovirt/engine/cor= =3D e/bll/FencingExecutor.java There is no other algorithm for the selection at the moment. How would you handle a case in which hostA isn't responsive ? Wouldn't you prefer trying to perform the fencing using other available host ? Let me explain a little to make you better understand my reasoning behind this configuration. We work with segmented, separated networks. One network for public access, one for storage traffic, one for management and so on. That means that if the nodes themselves have to do their own power-management, the nodes would require three interfaces each, and the metal we are using for hosts just don=3DB4t have that. But if we can use the engine to do that, the hosts would only require two interfaces, which most 1U servers are equipped with as standard (plus one iLO/IPMI/whatev), so we can use them as hosts without issue. Then the backend has one extra interface that it can use to communicate over the power management network to the respective service processor with. Is there a "better" way to achieve what we are aiming for? Ideally, I would like to set up the two NICs in a bond and create VLAN-interfaces on top of that bond. That way, I can have as many virtual interfaces as I want without having more than two physical NICs, but I haven=3DB4t been able to find a good HOWTO explaining the process. I think there is a difference between: 1. allowing engine to fence 2. allowing to choose fencing host per cluster (or per host) it sounds like you actually want #1, but can live with #2, by installing the engine as a host as well. Exactly, I can live with #2, as I have the engine added as hostA in my DC well, the question is if choosing another host to use for fencing would/should be limited to hosts from same DC, then engine can only be used to fence one DC. I=3DB4m quoting you here: "1. power management is DC wide, not cluster." So this wouldn=3DB4t be any different from it=3DB4s current state. also, for any host other than engine, question is what to do if it is down... Med V=3DE4nliga H=3DE4lsningar ---------------------------------------------------------------------------= =3D ---- Karli Sj=3DF6berg Swedish University of Agricultural Sciences Box 7079 (Visiting Address Kron=3DE5sv=3DE4gen 8) S-750 07 Uppsala, Sweden Phone: +46-(0)18-67 15 66 karli.sjoberg(a)slu.se --_000_B3844C3FAAB14C54AEA5A34ACFE02BDDsluse_ Content-Type: text/html; charset=3D"iso-8859-1" Content-Transfer-Encoding: quoted-printable
30 jul 2012 = =3D kl. 12.26 skrev Itamar Heim:

<=3D blockquote type=3D3D"cite">
On 07/30/2012 12:03 PM, Karli Sj=3DF6berg w= rote=3D :

3=3D 0 jul 2012 kl. 11.01 skrev Itamar Heim:

On 07/30/2012 08:56 AM, Karli Sj=3DF6berg wrote:

<=3D blockquote type=3D3D"cite">
28 jul 2012 kl. 14.1= 1 sk=3D rev Moti Asayag:

On 07/26/201= 2 02=3D :53 PM, Karli Sj=3DF6berg wrote:
=
Hi,=

In my DC, I have three hosts added:
<= bl=3D ockquote type=3D3D"cite">
=3D

=3D hostA
<= =3D blockquote type=3D3D"cite">
hostB
hostC

I want = a way =3D to force only to use hostA as a proxy for power commands.
<= =3D /blockquote>

The algorithm of selection a host to act as a proxy for PM= c=3D ommands is
= quite naive: any host from the system with status UP.=

= You can see how it is being selected in FencingExecut= or=3D .FindVdsToFence()
from
<=3D /blockquote>
ovirt-engine/backend/manager/m= odul=3D es/bll/src/main/java/org/ovirt/engine/core/bll/FencingExecutor.java
<=3D blockquote type=3D3D"cite">

There is no other algorithm for the selection at the moment.=

= How would you handle a case in which hostA isn't resp= on=3D sive ? Wouldn't
<=3D blockquote type=3D3D"cite">you prefer trying to perform the fencing using o= th=3D er available host ?
= =3D

<= bl=3D ockquote type=3D3D"cite">

Let me explain a little to make you better understand= m=3D y reasoning
behind this co= nfig=3D uration.

=
<=3D blockquote type=3D3D"cite">We work with segmented, separated networks. One = ne=3D twork for public
access,= one f=3D or storage traffic, one for management and so on. That
<=3D blockquote type=3D3D"cite">means that if the nodes themselves have to do th= ei=3D r own
<=3D blockquote type=3D3D"cite">
power-management, th= e no=3D des would require three interfaces each, and the
metal we are using for hosts just don=3DB4t have that.= But=3D if we can use the
engin= e to d=3D o that, the hosts would only require two interfaces, which
= =3D
most 1U servers are equipped with as standar= d =3D (plus one
iLO/IPMI/whatev)= , so=3D we can use them as hosts without issue. Then the
backend has one extra interface that it can use to co= mm=3D unicate over the
power m= anagem=3D ent network to the respective service processor with.

Is th=3D ere a "better" way to achieve what we are aiming for? Ideally, I
would like to set up the two NICs i= n a =3D bond and create VLAN-interfaces
<= =3D blockquote type=3D3D"cite">
on top of that bond. That way, I can have as many virtual interfaces as
I want without having more = than=3D two physical NICs, but I haven=3DB4t been
able to find a good HOWTO explaining the process.

<=3D blockquote type=3D3D"cite">

I think there= is =3D a difference between:
1. allowing engine to fence
<= /b=3D lockquote>
2. allowi= ng t=3D o choose fencing host per cluster (or per host)

=
it sounds = like=3D you actually want #1, but can live with #2, by installing
= =3D
the en= gine=3D as a host as well.
=3D
Exactly, I can live with #2, a= s =3D I have the engine added as hostA in my DC

well, the que= =3D stion is if choosing another host to use for fencing
would/should be li= =3D mited to hosts from same DC, then engine can only be
used to fence one = =3D DC.

I=3DB4m quoting you here:
=3D "1. power management is DC wide, not cluster."

So = =3D this wouldn=3DB4t be any different from it=3DB4s current state.
<= br><=3D /div>

also, for any host other tha= n =3D engine, question is what to do if it is
down...
<= =3D /div>


Med V=3DE4nliga H=3DE4lsningar
-------------------------= ----=3D --------------------------------------------------
Karli Sj=3DF6berg
= Sw=3D edish University of Agricultural Sciences
Box 7079 (Visiting Address Kro= =3D n=3DE5sv=3DE4gen 8)
S-750 07 Uppsala, Sweden
Phone:  +46-(0)18-6= 7 15=3D 66

=3D --_000_B3844C3FAAB14C54AEA5A34ACFE02BDDsluse_-- --===============3149370670829063331== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS1fMDAwX0IzODQ0QzNGQUFCMTRDNTRBRUE1QTM0QUNGRTAyQkREc2x1c2VfCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iaXNvLTg4NTktMSIKQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogcXVvdGVkLXByaW50YWJsZQoKCjMwIGp1bCAyMDEyIGtsLiAxMi4yNiBza3JldiBJdGFt YXIgSGVpbToKCk9uIDA3LzMwLzIwMTIgMTI6MDMgUE0sIEthcmxpIFNqPUY2YmVyZyB3cm90ZToK CjMwIGp1bCAyMDEyIGtsLiAxMS4wMSBza3JldiBJdGFtYXIgSGVpbToKCk9uIDA3LzMwLzIwMTIg MDg6NTYgQU0sIEthcmxpIFNqPUY2YmVyZyB3cm90ZToKCjI4IGp1bCAyMDEyIGtsLiAxNC4xMSBz a3JldiBNb3RpIEFzYXlhZzoKCk9uIDA3LzI2LzIwMTIgMDI6NTMgUE0sIEthcmxpIFNqPUY2YmVy ZyB3cm90ZToKSGksCgpJbiBteSBEQywgSSBoYXZlIHRocmVlIGhvc3RzIGFkZGVkOgoKaG9zdEEK aG9zdEIKaG9zdEMKCkkgd2FudCBhIHdheSB0byBmb3JjZSBvbmx5IHRvIHVzZSBob3N0QSBhcyBh IHByb3h5IGZvciBwb3dlciBjb21tYW5kcy4KClRoZSBhbGdvcml0aG0gb2Ygc2VsZWN0aW9uIGEg aG9zdCB0byBhY3QgYXMgYSBwcm94eSBmb3IgUE0gY29tbWFuZHMgaXMKcXVpdGUgbmFpdmU6IGFu eSBob3N0IGZyb20gdGhlIHN5c3RlbSB3aXRoIHN0YXR1cyBVUC4KCllvdSBjYW4gc2VlIGhvdyBp dCBpcyBiZWluZyBzZWxlY3RlZCBpbiBGZW5jaW5nRXhlY3V0b3IuRmluZFZkc1RvRmVuY2UoKQpm cm9tCm92aXJ0LWVuZ2luZS9iYWNrZW5kL21hbmFnZXIvbW9kdWxlcy9ibGwvc3JjL21haW4vamF2 YS9vcmcvb3ZpcnQvZW5naW5lL2Nvcj0KZS9ibGwvRmVuY2luZ0V4ZWN1dG9yLmphdmEKClRoZXJl IGlzIG5vIG90aGVyIGFsZ29yaXRobSBmb3IgdGhlIHNlbGVjdGlvbiBhdCB0aGUgbW9tZW50LgoK SG93IHdvdWxkIHlvdSBoYW5kbGUgYSBjYXNlIGluIHdoaWNoIGhvc3RBIGlzbid0IHJlc3BvbnNp dmUgPyBXb3VsZG4ndAp5b3UgcHJlZmVyIHRyeWluZyB0byBwZXJmb3JtIHRoZSBmZW5jaW5nIHVz aW5nIG90aGVyIGF2YWlsYWJsZSBob3N0ID8KCgpMZXQgbWUgZXhwbGFpbiBhIGxpdHRsZSB0byBt YWtlIHlvdSBiZXR0ZXIgdW5kZXJzdGFuZCBteSByZWFzb25pbmcKYmVoaW5kIHRoaXMgY29uZmln dXJhdGlvbi4KCldlIHdvcmsgd2l0aCBzZWdtZW50ZWQsIHNlcGFyYXRlZCBuZXR3b3Jrcy4gT25l IG5ldHdvcmsgZm9yIHB1YmxpYwphY2Nlc3MsIG9uZSBmb3Igc3RvcmFnZSB0cmFmZmljLCBvbmUg Zm9yIG1hbmFnZW1lbnQgYW5kIHNvIG9uLiBUaGF0Cm1lYW5zIHRoYXQgaWYgdGhlIG5vZGVzIHRo ZW1zZWx2ZXMgaGF2ZSB0byBkbyB0aGVpciBvd24KcG93ZXItbWFuYWdlbWVudCwgdGhlIG5vZGVz IHdvdWxkIHJlcXVpcmUgdGhyZWUgaW50ZXJmYWNlcyBlYWNoLCBhbmQgdGhlCm1ldGFsIHdlIGFy ZSB1c2luZyBmb3IgaG9zdHMganVzdCBkb249QjR0IGhhdmUgdGhhdC4gQnV0IGlmIHdlIGNhbiB1 c2UgdGhlCmVuZ2luZSB0byBkbyB0aGF0LCB0aGUgaG9zdHMgd291bGQgb25seSByZXF1aXJlIHR3 byBpbnRlcmZhY2VzLCB3aGljaAptb3N0IDFVIHNlcnZlcnMgYXJlIGVxdWlwcGVkIHdpdGggYXMg c3RhbmRhcmQgKHBsdXMgb25lCmlMTy9JUE1JL3doYXRldiksIHNvIHdlIGNhbiB1c2UgdGhlbSBh cyBob3N0cyB3aXRob3V0IGlzc3VlLiBUaGVuIHRoZQpiYWNrZW5kIGhhcyBvbmUgZXh0cmEgaW50 ZXJmYWNlIHRoYXQgaXQgY2FuIHVzZSB0byBjb21tdW5pY2F0ZSBvdmVyIHRoZQpwb3dlciBtYW5h Z2VtZW50IG5ldHdvcmsgdG8gdGhlIHJlc3BlY3RpdmUgc2VydmljZSBwcm9jZXNzb3Igd2l0aC4K CklzIHRoZXJlIGEgImJldHRlciIgd2F5IHRvIGFjaGlldmUgd2hhdCB3ZSBhcmUgYWltaW5nIGZv cj8gSWRlYWxseSwgSQp3b3VsZCBsaWtlIHRvIHNldCB1cCB0aGUgdHdvIE5JQ3MgaW4gYSBib25k IGFuZCBjcmVhdGUgVkxBTi1pbnRlcmZhY2VzCm9uIHRvcCBvZiB0aGF0IGJvbmQuIFRoYXQgd2F5 LCBJIGNhbiBoYXZlIGFzIG1hbnkgdmlydHVhbCBpbnRlcmZhY2VzIGFzCkkgd2FudCB3aXRob3V0 IGhhdmluZyBtb3JlIHRoYW4gdHdvIHBoeXNpY2FsIE5JQ3MsIGJ1dCBJIGhhdmVuPUI0dCBiZWVu CmFibGUgdG8gZmluZCBhIGdvb2QgSE9XVE8gZXhwbGFpbmluZyB0aGUgcHJvY2Vzcy4KCgpJIHRo aW5rIHRoZXJlIGlzIGEgZGlmZmVyZW5jZSBiZXR3ZWVuOgoxLiBhbGxvd2luZyBlbmdpbmUgdG8g ZmVuY2UKMi4gYWxsb3dpbmcgdG8gY2hvb3NlIGZlbmNpbmcgaG9zdCBwZXIgY2x1c3RlciAob3Ig cGVyIGhvc3QpCgppdCBzb3VuZHMgbGlrZSB5b3UgYWN0dWFsbHkgd2FudCAjMSwgYnV0IGNhbiBs aXZlIHdpdGggIzIsIGJ5IGluc3RhbGxpbmcKdGhlIGVuZ2luZSBhcyBhIGhvc3QgYXMgd2VsbC4K CkV4YWN0bHksIEkgY2FuIGxpdmUgd2l0aCAjMiwgYXMgSSBoYXZlIHRoZSBlbmdpbmUgYWRkZWQg YXMgaG9zdEEgaW4gbXkgREMKCndlbGwsIHRoZSBxdWVzdGlvbiBpcyBpZiBjaG9vc2luZyBhbm90 aGVyIGhvc3QgdG8gdXNlIGZvciBmZW5jaW5nCndvdWxkL3Nob3VsZCBiZSBsaW1pdGVkIHRvIGhv c3RzIGZyb20gc2FtZSBEQywgdGhlbiBlbmdpbmUgY2FuIG9ubHkgYmUKdXNlZCB0byBmZW5jZSBv bmUgREMuCgpJPUI0bSBxdW90aW5nIHlvdSBoZXJlOgoiMS4gcG93ZXIgbWFuYWdlbWVudCBpcyBE QyB3aWRlLCBub3QgY2x1c3Rlci4iCgpTbyB0aGlzIHdvdWxkbj1CNHQgYmUgYW55IGRpZmZlcmVu dCBmcm9tIGl0PUI0cyBjdXJyZW50IHN0YXRlLgoKCmFsc28sIGZvciBhbnkgaG9zdCBvdGhlciB0 aGFuIGVuZ2luZSwgcXVlc3Rpb24gaXMgd2hhdCB0byBkbyBpZiBpdCBpcwpkb3duLi4uCgoKCk1l ZCBWPUU0bmxpZ2EgSD1FNGxzbmluZ2FyCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT0KLS0tLQpLYXJsaSBT aj1GNmJlcmcKU3dlZGlzaCBVbml2ZXJzaXR5IG9mIEFncmljdWx0dXJhbCBTY2llbmNlcwpCb3gg NzA3OSAoVmlzaXRpbmcgQWRkcmVzcyBLcm9uPUU1c3Y9RTRnZW4gOCkKUy03NTAgMDcgVXBwc2Fs YSwgU3dlZGVuClBob25lOiAgKzQ2LSgwKTE4LTY3IDE1IDY2CmthcmxpLnNqb2JlcmdAc2x1LnNl PG1haWx0bzprYXJsaS5zam9iZXJnQGFkbS5zbHUuc2U+CgoKLS1fMDAwX0IzODQ0QzNGQUFCMTRD NTRBRUE1QTM0QUNGRTAyQkREc2x1c2VfCkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0 PSJpc28tODg1OS0xIgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxl Cgo8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHkgc3R5bGU9M0Qid29yZC13cmFwOiBicmVhay13b3Jk OyAtd2Via2l0LW5ic3AtbW9kZTo9CiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13 aGl0ZS1zcGFjZTsgIj48YnI+PGRpdj48ZGl2PjMwIGp1bCAyMDEyID0Ka2wuIDEyLjI2IHNrcmV2 IEl0YW1hciBIZWltOjwvZGl2PjxiciBjbGFzcz0zRCJBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5l Ij48PQpibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGRpdj5PbiAwNy8zMC8yMDEyIDEyOjAzIFBN LCBLYXJsaSBTaj1GNmJlcmcgd3JvdGU9Cjo8YnI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48 YnI+PC9ibG9ja3F1b3RlPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+Mz0KMCBqdWwgMjAxMiBr bC4gMTEuMDEgc2tyZXYgSXRhbWFyIEhlaW06PGJyPjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0 eXBlPTNEPQoiY2l0ZSI+PGJyPjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUi PjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI9Cj5PbiAwNy8zMC8yMDEyIDA4OjU2IEFNLCBLYXJs aSBTaj1GNmJlcmcgd3JvdGU6PGJyPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdD0KZT48YmxvY2tx dW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUg dHlwZT0zRCJjPQppdGUiPjxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90 ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjw9CmJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48 YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjI4IGp1bCAyMDEyIGtsLiAxNC4xMSBzaz0KcmV2IE1v dGkgQXNheWFnOjxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48Ymxv Y2txdW90ZSB0eXBlPQo9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2tx dW90ZSB0eXBlPTNEImNpdGUiPjxicj48L2Jsb2NrcXU9Cm90ZT48L2Jsb2NrcXVvdGU+PC9ibG9j a3F1b3RlPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRD0KImNp dGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj5P biAwNy8yNi8yMDEyIDAyPQo6NTMgUE0sIEthcmxpIFNqPUY2YmVyZyB3cm90ZTo8YnI+PC9ibG9j a3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC89CmJsb2NrcXVvdGU+PGJsb2NrcXVv dGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlID0K dHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9 M0QiY2l0ZSI+SGksPGJyPjwvPQpibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+ PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSA9CnR5cGU9M0QiY2l0ZSI+PGJs b2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1 bz0KdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxicj48L2Jsb2Nr cXVvdGU+PC9ibG9ja3F1b3RlPjwvPQpibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVv dGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSA9CnR5cGU9M0QiY2l0ZSI+ PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9j a3F1bz0KdGUgdHlwZT0zRCJjaXRlIj5JbiBteSBEQywgSSBoYXZlIHRocmVlIGhvc3RzIGFkZGVk Ojxicj48L2Jsb2NrcXVvdGU+PC9ibG9jPQprcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90 ZT48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48Ymw9Cm9ja3F1b3RlIHR5 cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNE ImNpdGUiPj0KPGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YnI+PC9ibG9ja3F1b3RlPjwvYmxv Y2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9jPQprcXVvdGU+PC9ibG9ja3F1b3RlPjxibG9ja3F1 b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48Ymw9Cm9ja3F1b3Rl IHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBl PTNEImNpdGUiPj0KaG9zdEE8YnI+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVv dGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48PQpibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+ PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGU9CiI+PGJs b2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPmhvc3RCPGJy PjwvYmxvY2txdW90ZT0KPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwv YmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpPQp0ZSI+PGJsb2NrcXVvdGUgdHlwZT0z RCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0Q9CiJj aXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPmhvc3RDPGJyPjwvYmxvY2txdW90ZT48L2Js b2NrcXVvdGU+PC9ibG9jaz0KcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48YmxvY2tx dW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9Cj0zRCJjaXRlIj48YmxvY2txdW90 ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdD0K eXBlPTNEImNpdGUiPjxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48 L2Jsb2NrcXVvdGU+PC9ibG9jPQprcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48Ymxv Y2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9Cj0zRCJjaXRlIj48YmxvY2tx dW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+SSB3YW50IGEgd2F5 ID0KdG8gZm9yY2Ugb25seSB0byB1c2UgaG9zdEEgYXMgYSBwcm94eSBmb3IgcG93ZXIgY29tbWFu ZHMuPGJyPjwvYmxvY2txdW90ZT48PQovYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1 b3RlPjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGU9CiI+PGJsb2NrcXVvdGUg dHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9 M0QiYz0KaXRlIj48YnI+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9i bG9ja3F1b3RlPjxibG9ja3F1b3RlIHR5PQpwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNE ImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGU9CiB0eXBlPTNEImNp dGUiPlRoZSBhbGdvcml0aG0gb2Ygc2VsZWN0aW9uIGEgaG9zdCB0byBhY3QgYXMgYSBwcm94eSBm b3IgUE0gYz0Kb21tYW5kcyBpczxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2tx dW90ZT48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvPQp0ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3Rl IHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2s9CnF1b3RlIHR5 cGU9M0QiY2l0ZSI+cXVpdGUgbmFpdmU6IGFueSBob3N0IGZyb20gdGhlIHN5c3RlbSB3aXRoIHN0 YXR1cyBVUC48Yj0Kcj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Js b2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjPQppdGUiPjxibG9ja3F1b3RlIHR5cGU9M0Qi Y2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPQo9M0QiY2l0 ZSI+PGJyPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90 ZT48YmxvY2txdW89CnRlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48 YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9jaz0KcXVvdGUgdHlwZT0zRCJjaXRlIj5Zb3Ug Y2FuIHNlZSBob3cgaXQgaXMgYmVpbmcgc2VsZWN0ZWQgaW4gRmVuY2luZ0V4ZWN1dG9yPQouRmlu ZFZkc1RvRmVuY2UoKTxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48 L2Jsb2NrcXVvdGU+PGI9CmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9 M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj0KPjxibG9ja3F1b3RlIHR5cGU9M0Qi Y2l0ZSI+ZnJvbTxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48PQov YmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0Qi Y2l0ZSI+PGJsb2NrcXVvdGU9CiB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0 ZSI+b3ZpcnQtZW5naW5lL2JhY2tlbmQvbWFuYWdlci9tb2R1bD0KZXMvYmxsL3NyYy9tYWluL2ph dmEvb3JnL292aXJ0L2VuZ2luZS9jb3JlL2JsbC9GZW5jaW5nRXhlY3V0b3IuamF2YTxicj48L2Js PQpvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48YmxvY2tx dW90ZSB0eXBlPTNEImNpdGUiPjw9CmJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90 ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZT0KIj48YnI+PC9ibG9ja3F1 b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjxibG9ja3F1b3RlIHR5 cGU9Cj0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9 M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdD0KeXBlPTNEImNpdGUiPlRoZXJlIGlzIG5vIG90aGVyIGFs Z29yaXRobSBmb3IgdGhlIHNlbGVjdGlvbiBhdCB0aGUgbW9tZW50LjxiPQpyPjwvYmxvY2txdW90 ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBl PTNEImM9Cml0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNE ImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9Cj0zRCJjaXRlIj48YnI+PC9ibG9ja3F1b3RlPjwvYmxv Y2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjxibG9ja3F1bz0KdGUgdHlwZT0zRCJj aXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+ PGJsb2NrPQpxdW90ZSB0eXBlPTNEImNpdGUiPkhvdyB3b3VsZCB5b3UgaGFuZGxlIGEgY2FzZSBp biB3aGljaCBob3N0QSBpc24ndCByZXNwb249CnNpdmUgPyBXb3VsZG4ndDxicj48L2Jsb2NrcXVv dGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PGJsbz0KY2txdW90ZSB0 eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0z RCJjaXRlIj48PQpibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+eW91IHByZWZlciB0cnlpbmcgdG8g cGVyZm9ybSB0aGUgZmVuY2luZyB1c2luZyBvdGg9CmVyIGF2YWlsYWJsZSBob3N0ID88YnI+PC9i bG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPj0KPGJsb2Nr cXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3Rl IHR5cGU9M0QiY2l0PQplIj48YnI+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVv dGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48Ymw9Cm9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+ PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YnI+PC9ibG9ja3F1b3RlPjwvYmxvY2txdT0Kb3Rl PjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9 M0QiY2l0ZSI+PGJsb2NrPQpxdW90ZSB0eXBlPTNEImNpdGUiPkxldCBtZSBleHBsYWluIGEgbGl0 dGxlIHRvIG1ha2UgeW91IGJldHRlciB1bmRlcnN0YW5kIG09CnkgcmVhc29uaW5nPGJyPjwvYmxv Y2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjxibG9ja3F1b3RlIHR5cGU9M0QiYz0K aXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+ YmVoaW5kIHRoaXMgY29uZmlnPQp1cmF0aW9uLjxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3Rl PjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGU9CiI+PGJsb2NrcXVvdGUgdHlw ZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxicj48L2Jsb2NrcXVvdGU+PC9i bD0Kb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2Nr cXVvdGUgdHlwZT0zRCJjaXRlIj48PQpibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+V2Ugd29yayB3 aXRoIHNlZ21lbnRlZCwgc2VwYXJhdGVkIG5ldHdvcmtzLiBPbmUgbmU9CnR3b3JrIGZvciBwdWJs aWM8YnI+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUg dHlwZT0KPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlw ZT0zRCJjaXRlIj5hY2Nlc3MsIG9uZSBmPQpvciBzdG9yYWdlIHRyYWZmaWMsIG9uZSBmb3IgbWFu YWdlbWVudCBhbmQgc28gb24uIFRoYXQ8YnI+PC9ibG9ja3F1b3RlPjwvYmw9Cm9ja3F1b3RlPjwv YmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0Qi Y2l0ZSI+PD0KYmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPm1lYW5zIHRoYXQgaWYgdGhlIG5vZGVz IHRoZW1zZWx2ZXMgaGF2ZSB0byBkbyB0aGVpPQpyIG93bjxicj48L2Jsb2NrcXVvdGU+PC9ibG9j a3F1b3RlPjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjw9CmJsb2NrcXVv dGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPnBvd2VyLW1hbmFnZW1l bnQsIHRoZSBubz0KZGVzIHdvdWxkIHJlcXVpcmUgdGhyZWUgaW50ZXJmYWNlcyBlYWNoLCBhbmQg dGhlPGJyPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvPQp0ZT48L2Jsb2NrcXVvdGU+PGJsb2NrcXVv dGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3E9CnVvdGUg dHlwZT0zRCJjaXRlIj5tZXRhbCB3ZSBhcmUgdXNpbmcgZm9yIGhvc3RzIGp1c3QgZG9uPUI0dCBo YXZlIHRoYXQuIEJ1dD0KIGlmIHdlIGNhbiB1c2UgdGhlPGJyPjwvYmxvY2txdW90ZT48L2Jsb2Nr cXVvdGU+PC9ibG9ja3F1b3RlPjxibG9ja3F1b3RlIHR5PQpwZT0zRCJjaXRlIj48YmxvY2txdW90 ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+ZW5naW5lIHRvIGQ9Cm8g dGhhdCwgdGhlIGhvc3RzIHdvdWxkIG9ubHkgcmVxdWlyZSB0d28gaW50ZXJmYWNlcywgd2hpY2g8 YnI+PC9ibG9ja3F1b3RlPj0KPC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48YmxvY2txdW90ZSB0 eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0PQplIj48YmxvY2txdW90ZSB0eXBl PTNEImNpdGUiPm1vc3QgMVUgc2VydmVycyBhcmUgZXF1aXBwZWQgd2l0aCBhcyBzdGFuZGFyZCA9 CihwbHVzIG9uZTxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48Ymxv Y2txdW90ZSB0eXBlPTNEImNpdD0KZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2tx dW90ZSB0eXBlPTNEImNpdGUiPmlMTy9JUE1JL3doYXRldiksIHNvPQogd2UgY2FuIHVzZSB0aGVt IGFzIGhvc3RzIHdpdGhvdXQgaXNzdWUuIFRoZW4gdGhlPGJyPjwvYmxvY2txdW90ZT48L2Jsb2Nr cXU9Cm90ZT48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90 ZSB0eXBlPTNEImNpdGUiPjxibG9jaz0KcXVvdGUgdHlwZT0zRCJjaXRlIj5iYWNrZW5kIGhhcyBv bmUgZXh0cmEgaW50ZXJmYWNlIHRoYXQgaXQgY2FuIHVzZSB0byBjb21tPQp1bmljYXRlIG92ZXIg dGhlPGJyPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3RlPjxibG9ja3F1b3Rl IHR5cGU9Cj0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5 cGU9M0QiY2l0ZSI+cG93ZXIgbWFuYWdlbT0KZW50IG5ldHdvcmsgdG8gdGhlIHJlc3BlY3RpdmUg c2VydmljZSBwcm9jZXNzb3Igd2l0aC48YnI+PC9ibG9ja3F1b3RlPjwvYmxvPQpja3F1b3RlPjwv YmxvY2txdW90ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0Qi Y2l0ZSI+PGI9CmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxicj48L2Jsb2NrcXVvdGU+PC9ibG9j a3F1b3RlPjwvYmxvY2txdW90ZT48YmxvY2txdT0Kb3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVv dGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPklzIHRoPQplcmUgYSAi YmV0dGVyIiB3YXkgdG8gYWNoaWV2ZSB3aGF0IHdlIGFyZSBhaW1pbmcgZm9yPyBJZGVhbGx5LCBJ PGJyPjwvYmxvY2s9CnF1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUg dHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPQo9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlw ZT0zRCJjaXRlIj53b3VsZCBsaWtlIHRvIHNldCB1cCB0aGUgdHdvIE5JQ3MgaW4gYSA9CmJvbmQg YW5kIGNyZWF0ZSBWTEFOLWludGVyZmFjZXM8YnI+PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48 L2Jsb2NrcXVvdGU+PD0KYmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9 M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlPQoiPm9uIHRvcCBvZiB0aGF0IGJvbmQu IFRoYXQgd2F5LCBJIGNhbiBoYXZlIGFzIG1hbnkgdmlydHVhbCBpbnRlcmZhY2VzIGFzPGI9CnI+ PC9ibG9ja3F1b3RlPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0z RCJjaXRlIj48YmxvY2txdT0Kb3RlIHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJj aXRlIj5JIHdhbnQgd2l0aG91dCBoYXZpbmcgbW9yZSB0aGFuPQogdHdvIHBoeXNpY2FsIE5JQ3Ms IGJ1dCBJIGhhdmVuPUI0dCBiZWVuPGJyPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PC9ibG89 CmNrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNp dGUiPjxibG9ja3F1b3RlIHR5cD0KZT0zRCJjaXRlIj5hYmxlIHRvIGZpbmQgYSBnb29kIEhPV1RP IGV4cGxhaW5pbmcgdGhlIHByb2Nlc3MuPGJyPjwvYmxvY2txdW90PQplPjwvYmxvY2txdW90ZT48 L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNE ImM9Cml0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YnI+PC9ibG9ja3F1b3RlPjwvYmxv Y2txdW90ZT48L2Jsb2NrcXVvdGU+PD0KYmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1 b3RlIHR5cGU9M0QiY2l0ZSI+PGJyPjwvYmxvY2txdW90ZT48L2Jsb2NrPQpxdW90ZT48YmxvY2tx dW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+SSB0aGluayB0aGVy ZSBpcyA9CmEgZGlmZmVyZW5jZSBiZXR3ZWVuOjxicj48L2Jsb2NrcXVvdGU+PC9ibG9ja3F1b3Rl PjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZT0KIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjEu IGFsbG93aW5nIGVuZ2luZSB0byBmZW5jZTxicj48L2Jsb2NrcXVvdGU+PC9iPQpsb2NrcXVvdGU+ PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjIuIGFs bG93aW5nIHQ9Cm8gY2hvb3NlIGZlbmNpbmcgaG9zdCBwZXIgY2x1c3RlciAob3IgcGVyIGhvc3Qp PGJyPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdD0KZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUi PjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+PGJyPjwvYmxvY2txdW90ZT48L2JsPQpvY2txdW90 ZT48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxibG9ja3F1b3RlIHR5cGU9M0QiY2l0ZSI+aXQg c291bmRzIGxpa2U9CiB5b3UgYWN0dWFsbHkgd2FudCAjMSwgYnV0IGNhbiBsaXZlIHdpdGggIzIs IGJ5IGluc3RhbGxpbmc8YnI+PC9ibG9ja3F1b3RlPj0KPC9ibG9ja3F1b3RlPjxibG9ja3F1b3Rl IHR5cGU9M0QiY2l0ZSI+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRlIj50aGUgZW5naW5lPQogYXMg YSBob3N0IGFzIHdlbGwuPGJyPjwvYmxvY2txdW90ZT48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUg dHlwZT0zRCJjaXRlIj49Cjxicj48L2Jsb2NrcXVvdGU+PGJsb2NrcXVvdGUgdHlwZT0zRCJjaXRl Ij5FeGFjdGx5LCBJIGNhbiBsaXZlIHdpdGggIzIsIGFzID0KSSBoYXZlIHRoZSBlbmdpbmUgYWRk ZWQgYXMgaG9zdEEgaW4gbXkgREM8YnI+PC9ibG9ja3F1b3RlPjxicj53ZWxsLCB0aGUgcXVlPQpz dGlvbiBpcyBpZiBjaG9vc2luZyBhbm90aGVyIGhvc3QgdG8gdXNlIGZvciBmZW5jaW5nIDxicj53 b3VsZC9zaG91bGQgYmUgbGk9Cm1pdGVkIHRvIGhvc3RzIGZyb20gc2FtZSBEQywgdGhlbiBlbmdp bmUgY2FuIG9ubHkgYmUgPGJyPnVzZWQgdG8gZmVuY2Ugb25lID0KREMuPGJyPjwvZGl2PjwvYmxv Y2txdW90ZT48ZGl2Pjxicj48L2Rpdj5JPUI0bSBxdW90aW5nIHlvdSBoZXJlOjwvZGl2PjxkaXY+ PQoiMS4gcG93ZXIgbWFuYWdlbWVudCBpcyBEQyB3aWRlLCBub3QgY2x1c3Rlci4iPC9kaXY+PGRp dj48YnI+PC9kaXY+PGRpdj5TbyA9CnRoaXMgd291bGRuPUI0dCBiZSBhbnkgZGlmZmVyZW50IGZy b20gaXQ9QjRzIGN1cnJlbnQgc3RhdGUuPC9kaXY+PGRpdj48YnI+PD0KL2Rpdj48ZGl2Pjxicj48 YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiPjxkaXY+YWxzbywgZm9yIGFueSBob3N0IG90aGVyIHRo YW4gPQplbmdpbmUsIHF1ZXN0aW9uIGlzIHdoYXQgdG8gZG8gaWYgaXQgaXMgPGJyPmRvd24uLi48 YnI+PC9kaXY+PC9ibG9ja3F1b3RlPjw9Ci9kaXY+PGJyPjxkaXY+CjxzcGFuIGNsYXNzPTNEIkFw cGxlLXN0eWxlLXNwYW4iIHN0eWxlPTNEImJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IGNvbG9y Oj0KIHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zdHlsZTogbm9y bWFsOyBmb250LXZhcmlhbnQ6IG5vPQpybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXIt c3BhY2luZzogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBvcnA9CmhhbnM6IDI7IHRleHQt YWxpZ246IC13ZWJraXQtYXV0bzsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v bmU7ID0Kd2hpdGUtc3BhY2U6IG5vcm1hbDsgd2lkb3dzOiAyOyB3b3JkLXNwYWNpbmc6IDBweDsg LXdlYmtpdC1ib3JkZXItaG9yaXpvbnRhPQpsLXNwYWNpbmc6IDBweDsgLXdlYmtpdC1ib3JkZXIt dmVydGljYWwtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQtZGVjb3JhdGk9Cm9ucy1pbi1lZmZl Y3Q6IG5vbmU7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogYXV0bzsgLXdlYmtpdC10ZXh0LXN0 cm9rZS13aT0KZHRoOiAwcHg7IGZvbnQtc2l6ZTogbWVkaXVtOyAiPjxkaXY+PGJyIGNsYXNzPTNE IkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPQo+PGJyPjwvZGl2PjxkaXY+TWVkIFY9RTRubGln YSBIPUU0bHNuaW5nYXI8YnI+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09Ci0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPkthcmxpIFNqPUY2 YmVyZzxicj5Tdz0KZWRpc2ggVW5pdmVyc2l0eSBvZiBBZ3JpY3VsdHVyYWwgU2NpZW5jZXM8YnI+ Qm94IDcwNzkgKFZpc2l0aW5nIEFkZHJlc3MgS3JvPQpuPUU1c3Y9RTRnZW4gOCk8YnI+Uy03NTAg MDcgVXBwc2FsYSwgU3dlZGVuPGJyPlBob25lOiAmbmJzcDsrNDYtKDApMTgtNjcgMTU9CiA2Njwv ZGl2PjxkaXY+PGEgaHJlZj0zRCJtYWlsdG86a2FybGkuc2pvYmVyZ0BhZG0uc2x1LnNlIj5rYXJs aS5zam9iZXJnQHNsdT0KLnNlPC9hPjwvZGl2Pjwvc3Bhbj4KPC9kaXY+Cjxicj48L2JvZHk+PC9o dG1sPj0KCi0tXzAwMF9CMzg0NEMzRkFBQjE0QzU0QUVBNUEzNEFDRkUwMkJERHNsdXNlXy0tCg== --===============3149370670829063331==--