From tadas at ring.lt Thu Jul 28 10:11:34 2016 Content-Type: multipart/mixed; boundary="===============0091819399538239370==" MIME-Version: 1.0 From: Tadas To: users at ovirt.org Subject: Re: [ovirt-users] Debian - based OS and SSO Date: Thu, 28 Jul 2016 17:11:28 +0300 Message-ID: In-Reply-To: E4F05C50-B1F8-421D-AA62-4739DBC218D2@redhat.com --===============0091819399538239370== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. ------=3D_NextPart_000_003F_01D1E8F3.142326C0 Content-Type: text/plain; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable Thank you for your reply. Strange, but i do not see any errors in gdm debug log, just this: http://paste.ubuntu.com/21275558/ I will try installing debian unstable and several ubuntu versions =3D tomorrow. From: Vinzenz Feenstra=3D20 Sent: Thursday, July 28, 2016 4:18 PM To: tadas(a)ring.lt=3D20 Cc: users=3D20 Subject: Re: [ovirt-users] Debian - based OS and SSO On Jul 28, 2016, at 3:11 PM, Vinzenz Feenstra =3D wrote: On Jul 28, 2016, at 11:53 AM, Tadas wrote: Hello, still having issues with ovirt SSO and Debian OS. Other OSes (Windows/Fedora 24) works just fine. Some information: OS: Debian 8.5 (jessie) I've followed manual on =3D https://www.ovirt.org/documentation/how-to/gues t-agent/install-the-guest-agent-in-debian/ and installed =3D ovirt-agent. I can get info via spice socket on hypervisor side, this means that agent works fine. I've compiled pam-ovirt-cred and copied it into /lib/x86_64-linux- gnu/security/ It should be in /lib/security afaik I've configured /etc/pamd/gdm-ovirtcred (just copied from working Fedora 24) replace in that file all occurences of password-auth with passwd But still login fails. I can see this in ovirt-agent log file: It some how fails for me in some cases with this now: Correction its here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D3D794064 https://bugs.freedesktop.org/show_bug.cgi?id=3D3D71525 There=3DE2=3D80=3D99s not much I can do about that though Dummy-2::INFO::2016-07-28 12:49:51,046::OVirtAgentLogic::270::root::Received an external =3D command: login... Dummy-2::DEBUG::2016-07-28 12:49:51,047::OVirtAgentLogic::304::root::User log-in (credentials =3D =3D3D '\x00\x00\x00\x04test********\x00') Dummy-2::INFO::2016-07-28 12:49:51,047::CredServer::207::root::The following users are allowed to connect: [0] Dummy-2::DEBUG::2016-07-28 =3D 12:49:51,047::CredServer::272::root::Token: 760258 Dummy-2::INFO::2016-07-28 =3D 12:49:51,047::CredServer::273::root::Opening credentials channel... Dummy-2::INFO::2016-07-28 =3D 12:49:51,047::CredServer::132::root::Emitting user authenticated signal (760258). Dummy-2::INFO::2016-07-28 12:49:51,178::CredServer::277::root::Credentials channel was closed. This looks okay. The error is on pam side (auth.log): Jul 28 12:49:39 desktop64 gdm-ovirtcred]: pam_succeed_if(gdm- ovirtcred:auth): error retrieving user name: Conversation error Jul 28 12:49:39 desktop64 gdm-ovirtcred]: pam_ovirt_cred(gdm- ovirtcred:auth): Failed to acquire user's credentials Have no idea, where it fails. Would appreciate, if you could help me here a bit. Thank you. _______________________________________________ Users mailing list Users(a)ovirt.org http://lists.ovirt.org/mailman/listinfo/users ------=3D_NextPart_000_003F_01D1E8F3.142326C0 Content-Type: text/html; charset=3D"utf-8" Content-Transfer-Encoding: quoted-printable
Thank you for your reply.
Strange, but i do not see any errors in gdm debug log, just =3D this:
 
I will try installing debian unstable and several ubuntu versions=3D20 tomorrow.
 
Sent: Thursday, July 28, 2016 4:18 PM
Cc: users=3D20
Subject: Re: [ovirt-users] Debian - based OS and=3D20 SSO
 
 
On Jul 28, 2016, at 3:11 PM, Vinzenz Feenstra <vfeenstr(a)redhat.com> =3D wrote:
 
 
On Jul 28, 2016, at 11:53 AM, Tadas <tadas(a)ring.lt> wrote:
 
Hello,
still having issues with ovirt SSO and Debian =3D OS.
Other=3D20 OSes (Windows/Fedora 24) works just fine.
Some =3D information:
OS: Debian=3D20 8.5 (jessie)
I've followed manual on https://www.ovir= =3D t.org/documentation/how-to/gues
t-agent/install-the-guest-agent-in= =3D -debian/=3D20 and installed ovirt-agent.
I can get info via spice socket on =3D hypervisor=3D20 side, this means that
agent works fine.
I've compiled =3D pam-ovirt-cred=3D20 and copied it into=3D20 /lib/x86_64-linux-
gnu/security/
 
It should be in /lib/security afaik

I've configured /etc/pamd/gdm-ovirtcred (just copied from=3D20 working
Fedora 24)
 
replace in that file all occurences of password-auth with =3D passwd
 


But still login fails. I can see this in ovirt-agent log=3D20 file:
 
It some how fails for me in some cases with this now:
 
 
Correction its here:
htt= ps=3D ://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D3D794064

https://b= ug=3D s.freedesktop.org/show_bug.cgi?id=3D3D71525
 
There=3DE2=3D80=3D99s not much I can do about that though
 
 

=3D

Dummy-2::INFO::2016-07-28
12:49:51,046::OVirtAgentLogic::270:= =3D :root::Received=3D20 an external=3D20 =3D command:
login...
Dummy-2::DEBUG::2016-07-28
12:49:51,047::OVirt= =3D AgentLogic::304::root::User=3D20 log-in (credentials=3D20 =3D =3D3D
'\x00\x00\x00\x04test********\x00')
Dummy-2::INFO::2016-07-28= =3D20 12:49:51,047::CredServer::207::root::The
following users are =3D allowed to=3D20 connect: [0]
Dummy-2::DEBUG::2016-07-28=3D20 =3D 12:49:51,047::CredServer::272::root::Token:
760258
Dummy-2::INFO::2= =3D 016-07-28=3D20 12:49:51,047::CredServer::273::root::Opening
credentials=3D20 channel...
Dummy-2::INFO::2016-07-28=3D20 12:49:51,047::CredServer::132::root::Emitting
user authenticated =3D signal=3D20 =3D (760258).
Dummy-2::INFO::2016-07-28
12:49:51,178::CredServer::277::= =3D root::Credentials=3D20 channel was closed.

 
 
 

This looks okay. The error is on pam side =3D (auth.log):

Jul 28=3D20 12:49:39 desktop64 gdm-ovirtcred]: =3D pam_succeed_if(gdm-
ovirtcred:auth):=3D20 error retrieving user name: Conversation error
Jul 28 12:49:39 =3D desktop64=3D20 gdm-ovirtcred]: pam_ovirt_cred(gdm-
ovirtcred:auth): Failed to =3D acquire=3D20 user's credentials

Have no idea, where it fails.
Would =3D appreciate,=3D20 if you could help me here a bit.
Thank=3D20 =3D you.


_______________________________________________
Users = =3D mailing list
Users(a)ovirt.org
http://lists.ovirt= =3D .org/mailman/listinfo/users
 
 
------=3D_NextPart_000_003F_01D1E8F3.142326C0-- --===============0091819399538239370== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KCi0tLS0tLT1fTmV4 dFBhcnRfMDAwXzAwM0ZfMDFEMUU4RjMuMTQyMzI2QzAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OwoJY2hhcnNldD0idXRmLTgiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmlu dGFibGUKClRoYW5rIHlvdSBmb3IgeW91ciByZXBseS4KU3RyYW5nZSwgYnV0IGkgZG8gbm90IHNl ZSBhbnkgZXJyb3JzIGluIGdkbSBkZWJ1ZyBsb2csIGp1c3QgdGhpczoKaHR0cDovL3Bhc3RlLnVi dW50dS5jb20vMjEyNzU1NTgvCgpJIHdpbGwgdHJ5IGluc3RhbGxpbmcgZGViaWFuIHVuc3RhYmxl IGFuZCBzZXZlcmFsIHVidW50dSB2ZXJzaW9ucyA9CnRvbW9ycm93LgoKRnJvbTogVmluemVueiBG ZWVuc3RyYT0yMApTZW50OiBUaHVyc2RheSwgSnVseSAyOCwgMjAxNiA0OjE4IFBNClRvOiB0YWRh c0ByaW5nLmx0PTIwCkNjOiB1c2Vycz0yMApTdWJqZWN0OiBSZTogW292aXJ0LXVzZXJzXSBEZWJp YW4gLSBiYXNlZCBPUyBhbmQgU1NPCgoKICBPbiBKdWwgMjgsIDIwMTYsIGF0IDM6MTEgUE0sIFZp bnplbnogRmVlbnN0cmEgPHZmZWVuc3RyQHJlZGhhdC5jb20+ID0Kd3JvdGU6CgoKICAgIE9uIEp1 bCAyOCwgMjAxNiwgYXQgMTE6NTMgQU0sIFRhZGFzIDx0YWRhc0ByaW5nLmx0PiB3cm90ZToKCiAg ICBIZWxsbywKICAgIHN0aWxsIGhhdmluZyBpc3N1ZXMgd2l0aCBvdmlydCBTU08gYW5kIERlYmlh biBPUy4KICAgIE90aGVyIE9TZXMgKFdpbmRvd3MvRmVkb3JhIDI0KSB3b3JrcyBqdXN0IGZpbmUu CiAgICBTb21lIGluZm9ybWF0aW9uOgogICAgT1M6IERlYmlhbiA4LjUgKGplc3NpZSkKICAgIEkn dmUgZm9sbG93ZWQgbWFudWFsIG9uID0KaHR0cHM6Ly93d3cub3ZpcnQub3JnL2RvY3VtZW50YXRp b24vaG93LXRvL2d1ZXMKICAgIHQtYWdlbnQvaW5zdGFsbC10aGUtZ3Vlc3QtYWdlbnQtaW4tZGVi aWFuLyBhbmQgaW5zdGFsbGVkID0Kb3ZpcnQtYWdlbnQuCiAgICBJIGNhbiBnZXQgaW5mbyB2aWEg c3BpY2Ugc29ja2V0IG9uIGh5cGVydmlzb3Igc2lkZSwgdGhpcyBtZWFucyB0aGF0CiAgICBhZ2Vu dCB3b3JrcyBmaW5lLgogICAgSSd2ZSBjb21waWxlZCBwYW0tb3ZpcnQtY3JlZCBhbmQgY29waWVk IGl0IGludG8gL2xpYi94ODZfNjQtbGludXgtCiAgICBnbnUvc2VjdXJpdHkvCgoKICBJdCBzaG91 bGQgYmUgaW4gL2xpYi9zZWN1cml0eSBhZmFpawoKCiAgICBJJ3ZlIGNvbmZpZ3VyZWQgL2V0Yy9w YW1kL2dkbS1vdmlydGNyZWQgKGp1c3QgY29waWVkIGZyb20gd29ya2luZwogICAgRmVkb3JhIDI0 KQoKCiAgcmVwbGFjZSBpbiB0aGF0IGZpbGUgYWxsIG9jY3VyZW5jZXMgb2YgcGFzc3dvcmQtYXV0 aCB3aXRoIHBhc3N3ZAoKCgoKICAgIEJ1dCBzdGlsbCBsb2dpbiBmYWlscy4gSSBjYW4gc2VlIHRo aXMgaW4gb3ZpcnQtYWdlbnQgbG9nIGZpbGU6CgoKICBJdCBzb21lIGhvdyBmYWlscyBmb3IgbWUg aW4gc29tZSBjYXNlcyB3aXRoIHRoaXMgbm93OgoKCkNvcnJlY3Rpb24gaXRzIGhlcmU6Cmh0dHBz Oi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9M0Q3OTQwNjQKCgog IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTNENzE1MjUKCiAg VGhlcmU9RTI9ODA9OTlzIG5vdCBtdWNoIEkgY2FuIGRvIGFib3V0IHRoYXQgdGhvdWdoCgoKCgoK ICAgIER1bW15LTI6OklORk86OjIwMTYtMDctMjgKICAgIDEyOjQ5OjUxLDA0Njo6T1ZpcnRBZ2Vu dExvZ2ljOjoyNzA6OnJvb3Q6OlJlY2VpdmVkIGFuIGV4dGVybmFsID0KY29tbWFuZDoKICAgIGxv Z2luLi4uCiAgICBEdW1teS0yOjpERUJVRzo6MjAxNi0wNy0yOAogICAgMTI6NDk6NTEsMDQ3OjpP VmlydEFnZW50TG9naWM6OjMwNDo6cm9vdDo6VXNlciBsb2ctaW4gKGNyZWRlbnRpYWxzID0KPTNE CiAgICAnXHgwMFx4MDBceDAwXHgwNHRlc3QqKioqKioqKlx4MDAnKQogICAgRHVtbXktMjo6SU5G Tzo6MjAxNi0wNy0yOCAxMjo0OTo1MSwwNDc6OkNyZWRTZXJ2ZXI6OjIwNzo6cm9vdDo6VGhlCiAg ICBmb2xsb3dpbmcgdXNlcnMgYXJlIGFsbG93ZWQgdG8gY29ubmVjdDogWzBdCiAgICBEdW1teS0y OjpERUJVRzo6MjAxNi0wNy0yOCA9CjEyOjQ5OjUxLDA0Nzo6Q3JlZFNlcnZlcjo6MjcyOjpyb290 OjpUb2tlbjoKICAgIDc2MDI1OAogICAgRHVtbXktMjo6SU5GTzo6MjAxNi0wNy0yOCA9CjEyOjQ5 OjUxLDA0Nzo6Q3JlZFNlcnZlcjo6MjczOjpyb290OjpPcGVuaW5nCiAgICBjcmVkZW50aWFscyBj aGFubmVsLi4uCiAgICBEdW1teS0yOjpJTkZPOjoyMDE2LTA3LTI4ID0KMTI6NDk6NTEsMDQ3OjpD cmVkU2VydmVyOjoxMzI6OnJvb3Q6OkVtaXR0aW5nCiAgICB1c2VyIGF1dGhlbnRpY2F0ZWQgc2ln bmFsICg3NjAyNTgpLgogICAgRHVtbXktMjo6SU5GTzo6MjAxNi0wNy0yOAogICAgMTI6NDk6NTEs MTc4OjpDcmVkU2VydmVyOjoyNzc6OnJvb3Q6OkNyZWRlbnRpYWxzIGNoYW5uZWwgd2FzIGNsb3Nl ZC4KCgoKCgoKCiAgICBUaGlzIGxvb2tzIG9rYXkuIFRoZSBlcnJvciBpcyBvbiBwYW0gc2lkZSAo YXV0aC5sb2cpOgoKICAgIEp1bCAyOCAxMjo0OTozOSBkZXNrdG9wNjQgZ2RtLW92aXJ0Y3JlZF06 IHBhbV9zdWNjZWVkX2lmKGdkbS0KICAgIG92aXJ0Y3JlZDphdXRoKTogZXJyb3IgcmV0cmlldmlu ZyB1c2VyIG5hbWU6IENvbnZlcnNhdGlvbiBlcnJvcgogICAgSnVsIDI4IDEyOjQ5OjM5IGRlc2t0 b3A2NCBnZG0tb3ZpcnRjcmVkXTogcGFtX292aXJ0X2NyZWQoZ2RtLQogICAgb3ZpcnRjcmVkOmF1 dGgpOiBGYWlsZWQgdG8gYWNxdWlyZSB1c2VyJ3MgY3JlZGVudGlhbHMKCiAgICBIYXZlIG5vIGlk ZWEsIHdoZXJlIGl0IGZhaWxzLgogICAgV291bGQgYXBwcmVjaWF0ZSwgaWYgeW91IGNvdWxkIGhl bHAgbWUgaGVyZSBhIGJpdC4KICAgIFRoYW5rIHlvdS4KCgogICAgX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KICAgIFVzZXJzIG1haWxpbmcgbGlzdAogICAg VXNlcnNAb3ZpcnQub3JnCiAgICBodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGlu Zm8vdXNlcnMKCgoKLS0tLS0tPV9OZXh0UGFydF8wMDBfMDAzRl8wMUQxRThGMy4xNDIzMjZDMApD b250ZW50LVR5cGU6IHRleHQvaHRtbDsKCWNoYXJzZXQ9InV0Zi04IgpDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCgo8SFRNTD48SEVBRD4KPE1FVEEgY29udGVudD0z RCJ0ZXh0L2h0bWwgY2hhcnNldD0zRHV0Zi04IiA9Cmh0dHAtZXF1aXY9M0RDb250ZW50LVR5cGU+ PC9IRUFEPgo8Qk9EWT0yMApzdHlsZT0zRCJXT1JELVdSQVA6IGJyZWFrLXdvcmQ7IC13ZWJraXQt bmJzcC1tb2RlOiBzcGFjZTsgPQotd2Via2l0LWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNl Ij0yMApkaXI9M0RsdHI+CjxESVYgZGlyPTNEbHRyPgo8RElWIHN0eWxlPTNEIkZPTlQtU0laRTog MTJwdDsgRk9OVC1GQU1JTFk6ICdDYWxpYnJpJzsgQ09MT1I6ICMwMDAwMDAiPgo8RElWPlRoYW5r IHlvdSBmb3IgeW91ciByZXBseS48L0RJVj4KPERJVj5TdHJhbmdlLCBidXQgaSBkbyBub3Qgc2Vl IGFueSBlcnJvcnMgaW4gZ2RtIGRlYnVnIGxvZywganVzdCA9CnRoaXM6PC9ESVY+CjxESVY+PEEg dGl0bGU9M0RodHRwOi8vcGFzdGUudWJ1bnR1LmNvbS8yMTI3NTU1OC89MjAKaHJlZj0zRCJodHRw Oi8vcGFzdGUudWJ1bnR1LmNvbS8yMTI3NTU1OC8iPmh0dHA6Ly9wYXN0ZS51YnVudHUuY29tLzIx Mjc1NT0KNTgvPC9BPjwvRElWPgo8RElWPiZuYnNwOzwvRElWPgo8RElWPkkgd2lsbCB0cnkgaW5z dGFsbGluZyBkZWJpYW4gdW5zdGFibGUgYW5kIHNldmVyYWwgdWJ1bnR1IHZlcnNpb25zPTIwCnRv bW9ycm93LjwvRElWPgo8RElWPTIwCnN0eWxlPTNEJ0ZPTlQtU0laRTogc21hbGw7IFRFWFQtREVD T1JBVElPTjogbm9uZTsgRk9OVC1GQU1JTFk6ID0KIkNhbGlicmkiOyBGT05ULVdFSUdIVDogbm9y bWFsOyBDT0xPUjogIzAwMDAwMDsgRk9OVC1TVFlMRTogbm9ybWFsOyA9CkRJU1BMQVk6IGlubGlu ZSc+CjxESVYgc3R5bGU9M0QiRk9OVDogMTBwdCB0YWhvbWEiPgo8RElWPjxGT05UIHNpemU9M0Qz IGZhY2U9M0RDYWxpYnJpPjwvRk9OVD4mbmJzcDs8L0RJVj4KPERJViBzdHlsZT0zRCJCQUNLR1JP VU5EOiAjZjVmNWY1Ij4KPERJViBzdHlsZT0zRCJmb250LWNvbG9yOiBibGFjayI+PEI+RnJvbTo8 L0I+IDxBID0KdGl0bGU9M0R2ZmVlbnN0ckByZWRoYXQuY29tPTIwCmhyZWY9M0QibWFpbHRvOnZm ZWVuc3RyQHJlZGhhdC5jb20iPlZpbnplbnogRmVlbnN0cmE8L0E+IDwvRElWPgo8RElWPjxCPlNl bnQ6PC9CPiBUaHVyc2RheSwgSnVseSAyOCwgMjAxNiA0OjE4IFBNPC9ESVY+CjxESVY+PEI+VG86 PC9CPiA8QSB0aXRsZT0zRHRhZGFzQHJpbmcubHQ9MjAKaHJlZj0zRCJtYWlsdG86dGFkYXNAcmlu Zy5sdCI+dGFkYXNAcmluZy5sdDwvQT4gPC9ESVY+CjxESVY+PEI+Q2M6PC9CPiA8QSB0aXRsZT0z RHVzZXJzQG92aXJ0Lm9yZyA9CmhyZWY9M0QibWFpbHRvOnVzZXJzQG92aXJ0Lm9yZyI+dXNlcnM8 L0E+PTIwCjwvRElWPgo8RElWPjxCPlN1YmplY3Q6PC9CPiBSZTogW292aXJ0LXVzZXJzXSBEZWJp YW4gLSBiYXNlZCBPUyBhbmQ9MjAKU1NPPC9ESVY+PC9ESVY+PC9ESVY+CjxESVY+Jm5ic3A7PC9E SVY+PC9ESVY+CjxESVY9MjAKc3R5bGU9M0QnRk9OVC1TSVpFOiBzbWFsbDsgVEVYVC1ERUNPUkFU SU9OOiBub25lOyBGT05ULUZBTUlMWTogPQoiQ2FsaWJyaSI7IEZPTlQtV0VJR0hUOiBub3JtYWw7 IENPTE9SOiAjMDAwMDAwOyBGT05ULVNUWUxFOiBub3JtYWw7ID0KRElTUExBWTogaW5saW5lJz4K PERJVj4mbmJzcDs8L0RJVj4KPERJVj4KPEJMT0NLUVVPVEUgdHlwZT0zRCJjaXRlIj4KICA8RElW Pk9uIEp1bCAyOCwgMjAxNiwgYXQgMzoxMSBQTSwgVmluemVueiBGZWVuc3RyYSAmbHQ7PEE9MjAK ICBocmVmPTNEIm1haWx0bzp2ZmVlbnN0ckByZWRoYXQuY29tIj52ZmVlbnN0ckByZWRoYXQuY29t PC9BPiZndDsgPQp3cm90ZTo8L0RJVj4KICA8RElWPiZuYnNwOzwvRElWPgogIDxESVY+CiAgPERJ Vj0yMAogIHN0eWxlPTNEIldPUkQtV1JBUDogYnJlYWstd29yZDsgLXdlYmtpdC1uYnNwLW1vZGU6 IHNwYWNlOyA9Ci13ZWJraXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2UiPgogIDxESVY+ Jm5ic3A7PC9ESVY+CiAgPERJVj4KICA8QkxPQ0tRVU9URSB0eXBlPTNEImNpdGUiPgogICAgPERJ Vj5PbiBKdWwgMjgsIDIwMTYsIGF0IDExOjUzIEFNLCBUYWRhcyAmbHQ7PEE9MjAKICAgIGhyZWY9 M0QibWFpbHRvOnRhZGFzQHJpbmcubHQiPnRhZGFzQHJpbmcubHQ8L0E+Jmd0OyB3cm90ZTo8L0RJ Vj4KICAgIDxESVY+Jm5ic3A7PC9ESVY+CiAgICA8RElWPgogICAgPERJVj5IZWxsbyw8QlI+c3Rp bGwgaGF2aW5nIGlzc3VlcyB3aXRoIG92aXJ0IFNTTyBhbmQgRGViaWFuID0KT1MuPEJSPk90aGVy PTIwCiAgICBPU2VzIChXaW5kb3dzL0ZlZG9yYSAyNCkgd29ya3MganVzdCBmaW5lLjxCUj5Tb21l ID0KaW5mb3JtYXRpb246PEJSPk9TOiBEZWJpYW49MjAKICAgIDguNSAoamVzc2llKTxCUj5JJ3Zl IGZvbGxvd2VkIG1hbnVhbCBvbiA8QT0yMAogICAgPQpocmVmPTNEImh0dHBzOi8vd3d3Lm92aXJ0 Lm9yZy9kb2N1bWVudGF0aW9uL2hvdy10by9ndWVzIj5odHRwczovL3d3dy5vdmlyPQp0Lm9yZy9k b2N1bWVudGF0aW9uL2hvdy10by9ndWVzPC9BPjxCUj50LWFnZW50L2luc3RhbGwtdGhlLWd1ZXN0 LWFnZW50LWluPQotZGViaWFuLz0yMAogICAgYW5kIGluc3RhbGxlZCBvdmlydC1hZ2VudC48QlI+ SSBjYW4gZ2V0IGluZm8gdmlhIHNwaWNlIHNvY2tldCBvbiA9Cmh5cGVydmlzb3I9MjAKICAgIHNp ZGUsIHRoaXMgbWVhbnMgdGhhdDxCUj5hZ2VudCB3b3JrcyBmaW5lLjxCUj5JJ3ZlIGNvbXBpbGVk ID0KcGFtLW92aXJ0LWNyZWQ9MjAKICAgIGFuZCBjb3BpZWQgaXQgaW50bz0yMAogIC9saWIveDg2 XzY0LWxpbnV4LTxCUj5nbnUvc2VjdXJpdHkvPEJSPjwvRElWPjwvRElWPjwvQkxPQ0tRVU9URT4K ICA8RElWPiZuYnNwOzwvRElWPgogIDxESVY+SXQgc2hvdWxkIGJlIGluIC9saWIvc2VjdXJpdHkg YWZhaWs8L0RJVj48QlI+CiAgPEJMT0NLUVVPVEUgdHlwZT0zRCJjaXRlIj4KICAgIDxESVY+CiAg ICA8RElWPkkndmUgY29uZmlndXJlZCAvZXRjL3BhbWQvZ2RtLW92aXJ0Y3JlZCAoanVzdCBjb3Bp ZWQgZnJvbT0yMAogICAgd29ya2luZzxCUj5GZWRvcmEgMjQpPEJSPjwvRElWPjwvRElWPjwvQkxP Q0tRVU9URT4KICA8RElWPiZuYnNwOzwvRElWPgogIDxESVY+cmVwbGFjZSBpbiB0aGF0IGZpbGUg YWxsIG9jY3VyZW5jZXMgb2YgcGFzc3dvcmQtYXV0aCB3aXRoID0KcGFzc3dkPC9ESVY+CiAgPERJ Vj4mbmJzcDs8L0RJVj48QlI+CiAgPEJMT0NLUVVPVEUgdHlwZT0zRCJjaXRlIj4KICAgIDxESVY+ CiAgICA8RElWPjxCUj5CdXQgc3RpbGwgbG9naW4gZmFpbHMuIEkgY2FuIHNlZSB0aGlzIGluIG92 aXJ0LWFnZW50IGxvZz0yMAogICAgZmlsZTo8QlI+PC9ESVY+PC9ESVY+PC9CTE9DS1FVT1RFPgog IDxESVY+Jm5ic3A7PC9ESVY+CiAgPERJVj5JdCBzb21lIGhvdyBmYWlscyBmb3IgbWUgaW4gc29t ZSBjYXNlcyB3aXRoIHRoaXMgbm93OjwvRElWPgogIDxESVY+Jm5ic3A7PC9ESVY+PC9ESVY+PC9E SVY+PC9ESVY+PC9CTE9DS1FVT1RFPgo8RElWPiZuYnNwOzwvRElWPgo8RElWPkNvcnJlY3Rpb24g aXRzIGhlcmU6PC9ESVY+CjxESVY+PEE9MjAKaHJlZj0zRCJodHRwczovL2J1Z3MuZGViaWFuLm9y Zy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTNENzk0MDY0Ij5odHRwcz0KOi8vYnVncy5kZWJp YW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9M0Q3OTQwNjQ8L0E+PC9ESVY+PEJSPgo8 QkxPQ0tRVU9URSB0eXBlPTNEImNpdGUiPgogIDxESVY+CiAgPERJVj0yMAogIHN0eWxlPTNEIldP UkQtV1JBUDogYnJlYWstd29yZDsgLXdlYmtpdC1uYnNwLW1vZGU6IHNwYWNlOyA9Ci13ZWJraXQt bGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2UiPgogIDxESVY+CiAgPERJVj48QT0yMAogID0K aHJlZj0zRCJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0zRDcx NTI1Ij5odHRwczovL2J1Zz0Kcy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTNENzE1 MjU8L0E+PC9ESVY+CiAgPERJVj4mbmJzcDs8L0RJVj4KICA8RElWPlRoZXJlPUUyPTgwPTk5cyBu b3QgbXVjaCBJIGNhbiBkbyBhYm91dCB0aGF0IHRob3VnaDwvRElWPgogIDxESVY+Jm5ic3A7PC9E SVY+CiAgPERJVj4mbmJzcDs8L0RJVj48QlI+CiAgPEJMT0NLUVVPVEUgdHlwZT0zRCJjaXRlIj4K ICAgIDxESVY+CiAgICA9CjxESVY+PEJSPkR1bW15LTI6OklORk86OjIwMTYtMDctMjg8QlI+MTI6 NDk6NTEsMDQ2OjpPVmlydEFnZW50TG9naWM6OjI3MDo9Cjpyb290OjpSZWNlaXZlZD0yMAogICAg YW4gZXh0ZXJuYWw9MjAKICAgID0KY29tbWFuZDo8QlI+bG9naW4uLi48QlI+RHVtbXktMjo6REVC VUc6OjIwMTYtMDctMjg8QlI+MTI6NDk6NTEsMDQ3OjpPVmlydD0KQWdlbnRMb2dpYzo6MzA0Ojpy b290OjpVc2VyPTIwCiAgICBsb2ctaW4gKGNyZWRlbnRpYWxzPTIwCiAgICA9Cj0zRDxCUj4nXHgw MFx4MDBceDAwXHgwNHRlc3QqKioqKioqKlx4MDAnKTxCUj5EdW1teS0yOjpJTkZPOjoyMDE2LTA3 LTI4PTIwCiAgICAxMjo0OTo1MSwwNDc6OkNyZWRTZXJ2ZXI6OjIwNzo6cm9vdDo6VGhlPEJSPmZv bGxvd2luZyB1c2VycyBhcmUgPQphbGxvd2VkIHRvPTIwCiAgICBjb25uZWN0OiBbMF08QlI+RHVt bXktMjo6REVCVUc6OjIwMTYtMDctMjg9MjAKICAgID0KMTI6NDk6NTEsMDQ3OjpDcmVkU2VydmVy OjoyNzI6OnJvb3Q6OlRva2VuOjxCUj43NjAyNTg8QlI+RHVtbXktMjo6SU5GTzo6Mj0KMDE2LTA3 LTI4PTIwCiAgICAxMjo0OTo1MSwwNDc6OkNyZWRTZXJ2ZXI6OjI3Mzo6cm9vdDo6T3BlbmluZzxC Uj5jcmVkZW50aWFscz0yMAogICAgY2hhbm5lbC4uLjxCUj5EdW1teS0yOjpJTkZPOjoyMDE2LTA3 LTI4PTIwCiAgICAxMjo0OTo1MSwwNDc6OkNyZWRTZXJ2ZXI6OjEzMjo6cm9vdDo6RW1pdHRpbmc8 QlI+dXNlciBhdXRoZW50aWNhdGVkID0Kc2lnbmFsPTIwCiAgICA9Cig3NjAyNTgpLjxCUj5EdW1t eS0yOjpJTkZPOjoyMDE2LTA3LTI4PEJSPjEyOjQ5OjUxLDE3ODo6Q3JlZFNlcnZlcjo6Mjc3Ojo9 CnJvb3Q6OkNyZWRlbnRpYWxzPTIwCiAgICBjaGFubmVsIHdhcyBjbG9zZWQuPEJSPjxCUj48L0RJ Vj48L0RJVj48L0JMT0NLUVVPVEU+CiAgPERJVj4mbmJzcDs8L0RJVj4KICA8RElWPiZuYnNwOzwv RElWPgogIDxESVY+Jm5ic3A7PC9ESVY+PEJSPgogIDxCTE9DS1FVT1RFIHR5cGU9M0QiY2l0ZSI+ CiAgICA8RElWPgogICAgPERJVj5UaGlzIGxvb2tzIG9rYXkuIFRoZSBlcnJvciBpcyBvbiBwYW0g c2lkZSA9CihhdXRoLmxvZyk6PEJSPjxCUj5KdWwgMjg9MjAKICAgIDEyOjQ5OjM5IGRlc2t0b3A2 NCBnZG0tb3ZpcnRjcmVkXTogPQpwYW1fc3VjY2VlZF9pZihnZG0tPEJSPm92aXJ0Y3JlZDphdXRo KTo9MjAKICAgIGVycm9yIHJldHJpZXZpbmcgdXNlciBuYW1lOiBDb252ZXJzYXRpb24gZXJyb3I8 QlI+SnVsIDI4IDEyOjQ5OjM5ID0KZGVza3RvcDY0PTIwCiAgICBnZG0tb3ZpcnRjcmVkXTogcGFt X292aXJ0X2NyZWQoZ2RtLTxCUj5vdmlydGNyZWQ6YXV0aCk6IEZhaWxlZCB0byA9CmFjcXVpcmU9 MjAKICAgIHVzZXIncyBjcmVkZW50aWFsczxCUj48QlI+SGF2ZSBubyBpZGVhLCB3aGVyZSBpdCBm YWlscy48QlI+V291bGQgPQphcHByZWNpYXRlLD0yMAogICAgaWYgeW91IGNvdWxkIGhlbHAgbWUg aGVyZSBhIGJpdC48QlI+VGhhbms9MjAKICAgID0KeW91LjxCUj48QlI+PEJSPl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPEJSPlVzZXJzID0KCiAgICBtYWls aW5nIGxpc3Q8QlI+PEEgPQpocmVmPTNEIm1haWx0bzpVc2Vyc0BvdmlydC5vcmciPlVzZXJzQG92 aXJ0Lm9yZzwvQT48QlI+PEE9MjAKICAgID0KaHJlZj0zRCJodHRwOi8vbGlzdHMub3ZpcnQub3Jn L21haWxtYW4vbGlzdGluZm8vdXNlcnMiPmh0dHA6Ly9saXN0cy5vdmlydD0KLm9yZy9tYWlsbWFu L2xpc3RpbmZvL3VzZXJzPC9BPjxCUj48L0RJVj48L0RJVj48L0JMT0NLUVVPVEU+PC9ESVY+CiAg PERJVj4mbmJzcDs8L0RJVj48L0RJVj48L0RJVj48L0JMT0NLUVVPVEU+PC9ESVY+CjxESVY+Jm5i c3A7PC9ESVY+PC9ESVY+PC9ESVY+PC9ESVY+PC9CT0RZPjwvSFRNTD4KCi0tLS0tLT1fTmV4dFBh cnRfMDAwXzAwM0ZfMDFEMUU4RjMuMTQyMzI2QzAtLQoK --===============0091819399538239370==--