From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 10 Jan 2003 18:55:32 +0300 From: vserge To: devel@altlinux.ru Subject: Re: [devel] =?KOI8-R?Q?=F0=CF=C4=C4=C5=D2=D6=CB=C1_OpenLDAP'=CF?= =?KOI8-R?Q?=CD?= SASL =?KOI8-R?Q?=C9?= Kerberos Message-Id: <20030110185532.745a8c66.vserge@altlinux.ru> In-Reply-To: <20030110135904.GA20840@basalt.office.altlinux.ru> References: <20030109163921.437f8d91.vserge@altlinux.ru> <20030110140224.GG4288@sam-solutions.net> <20030110135904.GA20840@basalt.office.altlinux.ru> Organization: ALT Linux Team X-Mailer: Sylpheed version 0.8.8 (GTK+ 1.2.10; i586-alt-linux-gnu) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart_Fri__10_Jan_2003_18:55:32_+0300_083691e8" Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel@altlinux.ru X-Reply-To: vserge@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --Multipart_Fri__10_Jan_2003_18:55:32_+0300_083691e8 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Добрый день Вы написали "Dmitry V. Levin" Fri, 10 Jan 2003 16:59:04 +0300: > On Fri, Jan 10, 2003 at 04:02:24PM +0200, Alexander Bokovoy wrote: > > > После некоторых попыток организовать работу OpenLDAP с SASL и Kerberos > > > > > > Возникло несколько вопросов: > > > 1) Как правильно (принято ) у нас поступать если работа библиотек > > > libldap* зависит включил я при сборке опции (sasl или kerberos) и > > > соотетственно утилиты от этого завист тоже!!! > > > > > > Варианты: > > > 1) собрать все пакеты с соответствующей включенной опцией из > > > разных src.rpms, например, openldap-2.1.12-sasl2-altxxx.src.rpm| > > > openldap-2.1.12-krb-altxxx.src.rpm | openldap-2.1.12-altxxx.src.rpm > > > 2) собрать с поддержкой всего сразу -- что не хорошо!!! > > > 3) Что предложите еще ??? > > > 2) собираеть сразу с поддержкой только SASL2 > > Вариант 1. Только пакеты должны называться соответственно: > > openldap-* > > openldap-krb5-* > > openldap-sasl2-* > > > > и по возможности иметь возможность сосуществования в системе, > > переключаемые альтернативами. > > При этом, если хватит духу, можно попробовать собрать их из одного > .src.rpm'а. смотри прилагаемый спек там как раз попытка из одного пакета собрать много пока неполучается я не могу понять как правильно поступить с библиотеками так как в каждом случае будут разные библиотеки как их праивльно ставить потом из пакета ??? -- With best wishes, Volkov Serge Network Administrator/Security Administrator --Multipart_Fri__10_Jan_2003_18:55:32_+0300_083691e8 Content-Type: application/octet-stream; name="openldap-2.1.x-new.spec" Content-Disposition: attachment; filename="openldap-2.1.x-new.spec" Content-Transfer-Encoding: base64 TmFtZTogb3BlbmxkYXAKVmVyc2lvbjogMi4xLjEyClJlbGVhc2U6IGFsdDEKJWRlZmluZSBzb19t YWogMgoKIyUlZGVmX3dpdGgga3JiCiVkZWZfd2l0aCBzYXNsCgpTdW1tYXJ5OiBMREFQIGxpYnJh cmllcyBhbmQgc2FtcGxlIGNsaWVudHMKTGljZW5zZTogT3BlbkxEQVAgUHVibGljIExpY2Vuc2UK R3JvdXA6IFN5c3RlbS9TZXJ2ZXJzClVybDogaHR0cDovL3d3dy5vcGVubGRhcC5vcmcvClBhY2th Z2VyOiBTZXJnZSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4KCiMgT3BlbkxEQVAgc291 cmNlClNvdXJjZTogZnRwOi8vZnRwLk9wZW5MREFQLm9yZy9wdWIvT3BlbkxEQVAvJW5hbWUtcmVs ZWFzZS8lbmFtZS0ldmVyc2lvbi50YXIuYnoyCgojIERvY3MgZm9yIHRoaXMgcHJvZHVjdHMKU291 cmNlMTogJW5hbWUtZ3VpZGUtMi4xLnRhci5iejIKU291cmNlMjogUkVBRE1FLnVwZ3JhZGluZwoK IyBTeXN0ZW0gU3BlY2lmaWMgc291cmNlClNvdXJjZTExOiBsZGFwLnN5c2NvbmZpZwpTb3VyY2Ux MjogbGRhcC5pbml0ClNvdXJjZTEzOiBsZGFwLmxvZ3JvdGF0ZQoKU291cmNlMjE6IGdlbmNlcnQu c2gKCiMgRXh0ZW5kZWQgT3BlbkxEQVAgc2NoZW1hcwpTb3VyY2U1MDogcmZjODIyLU1haWxNZW1i ZXIuc2NoZW1hClNvdXJjZTUxOiBhdXRvZnMuc2NoZW1hClNvdXJjZTUyOiBrZXJiZXJvc29iamVj dC5zY2hlbWEKU291cmNlNTM6IHFtYWlsLnNjaGVtYQpTb3VyY2U1NDogbXVsbC5zY2hlbWEKU291 cmNlNTU6IHNhbWJhLnNjaGVtYQpTb3VyY2U1NjogY291cmllci5zY2hlbWEKU291cmNlNTc6IG5l dHNjYXBlLXByb2ZpbGUuc2NoZW1hClNvdXJjZTU4OiBkbnMuc2NoZW1hClNvdXJjZTU5OiBjcm9u LnNjaGVtYQpTb3VyY2U2MDogcW1haWxDb250cm9sLnNjaGVtYQpTb3VyY2U2MTogdHJ1c3Quc2No ZW1hClNvdXJjZTYyOiB0dXJiby5zY2hlbWEKCiNQYXRjaDA6ICVuYW1lLTIuMC43LWNvbmZpZy5w YXRjaAojIyNQYXRjaDI6ICVuYW1lLTIuMC4zLWtyYjUtMS4xLnBhdGNoICMgTm90IG5lZWQsIGJl Y29zZSBjb3JyZWN0IGluIHNvdXJjZQojIyNQYXRjaDM6ICVuYW1lLTIuMC43LWRiMy5wYXRjaCAj IE5vdCBuZWVkLCBiZWNvc2UgY29ycmVjdCBpbiBzb3VyY2UgaW4gMi4wLjIzClBhdGNoNDogJW5h bWUtMi4wLjctbW9kdWxlLnBhdGNoCiNQYXRjaDU6ICVuYW1lLTIuMC43LXNjaGVtYS5wYXRjaApQ YXRjaDY6ICVuYW1lLTIuMS4zLXNsYXBkLmNvbmYucGF0Y2gKI1BhdGNoNzogJW5hbWUtY2xkYXAu cGF0Y2gKI1BhdGNoODogJW5hbWUtc3lzbG9nLnBhdGNoClBhdGNoOTogJW5hbWUtY29uZmZpbGUu cGF0Y2gKUGF0Y2gxMDogJW5hbWUtbGlidG9vbC5wYXRjaAojUGF0Y2gxMTogJW5hbWUtc3FsLnBh dGNoCiMjI1BhdGNoMTI6ICVuYW1lLTIuMC4xNS1jb25maWd1cmUtc2FzbC5wYXRjaApQYXRjaDEz OiAlbmFtZS0yLjAuMTctc2hlbGwtYmFja2VuZC1NYWtlZmlsZS5wYXRjaApQYXRjaDE0OiAlbmFt ZS0yLjAuMjUtY29uZmlndXJlLXRpbmZvLnBhdGNoClBhdGNoMTU6ICVuYW1lLTIuMS4xMS1hbHQt c2FzbDIucGF0Y2gKClByZVJlcTogbGlibGRhcCA9ICV2ZXJzaW9uLSVyZWxlYXNlClJlcXVpcmVz OiBNVEEKCkJ1aWxkUHJlUmVxOiBhdXRvY29uZl8yLjEzCkJ1aWxkUHJlUmVxOiBhdXRvbWFrZV8x LjQKQnVpbGRQcmVSZXE6IGxpYnVuaXhPREJDLWRldmVsLXN0YXRpYwojIEF1dG9tYXRpY2FsbHkg YWRkZWQgYnkgYnVpbGRyZXEgb24gU2F0IEphbiAwNCAyMDAzCkJ1aWxkUmVxdWlyZXM6IGdsaWJj LWRldmVsLXN0YXRpYyBsaWJkYjQtZGV2ZWwgbGlibHRkbC1kZXZlbC1zdGF0aWMgbGlibmN1cnNl cy1kZXZlbCBsaWJyZWFkbGluZS1kZXZlbCBsaWJzc2wtZGV2ZWwgbGlidGluZm8tZGV2ZWwgbGli d3JhcC1kZXZlbCB2aW0tbWluaW1hbAoKJXBhY2thZ2UgLW4gbGlibGRhcApTdW1tYXJ5OiBPcGVu TERBUCBsaWJyYXJpZXMKR3JvdXA6IFN5c3RlbS9MaWJyYXJpZXMKQ29uZmxpY3RzOiAlbmFtZSA8 ICV2ZXJzaW9uLSVyZWxlYXNlCgolcGFja2FnZSAtbiBsaWJsZGFwLWRldmVsClN1bW1hcnk6IE9w ZW5MREFQIGRldmVsb3BtZW50IGxpYnJhcmllcyBhbmQgaGVhZGVyIGZpbGVzCkdyb3VwOiBEZXZl bG9wbWVudC9DClByb3ZpZGVzOiBvcGVubGRhcC1kZXZlbCA9ICV2ZXJzaW9uClJlcXVpcmVzOiBs aWJsZGFwID0gJXZlcnNpb24tJXJlbGVhc2UKT2Jzb2xldGVzOiBvcGVubGRhcC1kZXZlbAoKJXBh Y2thZ2UgLW4gbGlibGRhcC1kZXZlbC1zdGF0aWMKU3VtbWFyeTogT3BlbkxEQVAgZGV2ZWxvcG1l bnQgc3RhdGljIGxpYnJhcmllcwpHcm91cDogRGV2ZWxvcG1lbnQvQwpQcm92aWRlczogb3Blbmxk YXAtZGV2ZWwtc3RhdGljID0gJXZlcnNpb24KUmVxdWlyZXM6IGxpYmxkYXAtZGV2ZWwgPSAldmVy c2lvbi0lcmVsZWFzZQpPYnNvbGV0ZXM6IG9wZW5sZGFwLWRldmVsLXN0YXRpYwoKJXBhY2thZ2Ug c2VydmVycwpTdW1tYXJ5OiBMREFQIHNlcnZlcnMKR3JvdXA6IFN5c3RlbS9TZXJ2ZXJzClByZVJl cTogbGlibGRhcCA9ICV2ZXJzaW9uLSVyZWxlYXNlLCAlbmFtZSA9ICV2ZXJzaW9uLSVyZWxlYXNl LCBmaWxldXRpbHMsIHNoYWRvdy11dGlscywgbGlidW5peE9EQkMKUmVxdWlyZXM6IGdhd2sKCiVw YWNrYWdlIGNsaWVudHMKU3VtbWFyeTogTERBUCB1dGlsaXRpZXMsIHRvb2xzIGFuZCBzYW1wbGUg Y2xpZW50cwpHcm91cDogTmV0d29ya2luZy9SZW1vdGUgYWNjZXNzClByZVJlcTogbGlibGRhcCA9 ICV2ZXJzaW9uLSVyZWxlYXNlLCAlbmFtZSA9ICV2ZXJzaW9uLSVyZWxlYXNlCgolcGFja2FnZSBn dWlkZQpTdW1tYXJ5OiBPcGVuTERBUCBhZG1pbmlzdHJhdGlvbiBndWlkZQpHcm91cDogQm9va3Mv Q29tcHV0ZXIgYm9va3MKUmVxdWlyZXM6ICVuYW1lID0gJXZlcnNpb24tJXJlbGVhc2UKCiVwYWNr YWdlIHNlcnZlcnMtc2FzbApTdW1tYXJ5OiBMREFQIHNlcnZlcnMgd2l0aCBTQVNMIHN1cHBvcnQK R3JvdXA6IFN5c3RlbS9TZXJ2ZXJzClByZVJlcTogbGlibGRhcCA9ICV2ZXJzaW9uLSVyZWxlYXNl LCAlbmFtZSA9ICV2ZXJzaW9uLSVyZWxlYXNlLCBmaWxldXRpbHMsIHNoYWRvdy11dGlscywgbGli dW5peE9EQkMsIGxpYnNhc2wyClJlcXVpcmVzOiBnYXdrCgolcGFja2FnZSBjbGllbnRzLXNhc2wK U3VtbWFyeTogTERBUCB1dGlsaXRpZXMsIHRvb2xzIGFuZCBzYW1wbGUgY2xpZW50cyB3aXRoIFNB U0wgc3VwcG9ydApHcm91cDogTmV0d29ya2luZy9SZW1vdGUgYWNjZXNzClByZVJlcTogbGlibGRh cCA9ICV2ZXJzaW9uLSVyZWxlYXNlLCAlbmFtZSA9ICV2ZXJzaW9uLSVyZWxlYXNlCgolcGFja2Fn ZSBzZXJ2ZXJzLWtyYgpTdW1tYXJ5OiBMREFQIHNlcnZlcnMgd2l0aCBLRVJCRVJPUyBzdXBwb3J0 Ckdyb3VwOiBTeXN0ZW0vU2VydmVycwpQcmVSZXE6IGxpYmxkYXAgPSAldmVyc2lvbi0lcmVsZWFz ZSwgJW5hbWUgPSAldmVyc2lvbi0lcmVsZWFzZSwgZmlsZXV0aWxzLCBzaGFkb3ctdXRpbHMsIGxp YnVuaXhPREJDClJlcXVpcmVzOiBnYXdrCgolcGFja2FnZSBjbGllbnRzLWtyYgpTdW1tYXJ5OiBM REFQIHV0aWxpdGllcywgdG9vbHMgYW5kIHNhbXBsZSBjbGllbnRzIHdpdGggS0VSQkVST1Mgc3Vw cG9ydApHcm91cDogTmV0d29ya2luZy9SZW1vdGUgYWNjZXNzClByZVJlcTogbGlibGRhcCA9ICV2 ZXJzaW9uLSVyZWxlYXNlLCAlbmFtZSA9ICV2ZXJzaW9uLSVyZWxlYXNlCgoKJWRlc2NyaXB0aW9u Ck9wZW5MREFQIGlzIGFuIG9wZW4gc291cmNlIHN1aXRlIG9mIExEQVAgKExpZ2h0d2VpZ2h0IERp cmVjdG9yeSBBY2Nlc3MKUHJvdG9jb2wpIGFwcGxpY2F0aW9ucyBhbmQgZGV2ZWxvcG1lbnQgdG9v bHMuICBMREFQIGlzIGEgc2V0IG9mCnByb3RvY29scyBmb3IgYWNjZXNzaW5nIGRpcmVjdG9yeSBz ZXJ2aWNlcyAodXN1YWxseSBwaG9uZSBib29rIHN0eWxlCmluZm9ybWF0aW9uLCBidXQgb3RoZXIg aW5mb3JtYXRpb24gaXMgcG9zc2libGUpIG92ZXIgdGhlIEludGVybmV0LApzaW1pbGFyIHRvIHRo ZSB3YXkgRE5TIChEb21haW4gTmFtZSBTeXN0ZW0pIGluZm9ybWF0aW9uIGlzIHByb3BhZ2F0ZWQK b3ZlciB0aGUgSW50ZXJuZXQuICBUaGUgc3VpdGUgaW5jbHVkZXMgYSBzdGFuZC1hbG9uZSBMREFQ IHNlcnZlcgooc2xhcGQpLCBhIHN0YW5kLWFsb25lIExEQVAgcmVwbGljYXRpb24gc2VydmVyIChz bHVycGQpLCBsaWJyYXJpZXMgZm9yCmltcGxlbWVudGluZyB0aGUgTERBUCBwcm90b2NvbCwgdXRp bGl0aWVzLCB0b29scywgYW5kIHNhbXBsZSBjbGllbnRzLgoKSW5zdGFsbCAlbmFtZSBpZiB5b3Ug bmVlZCB0byBydW4gTERBUC1iYXNlZCBhcHBsaWNhdGlvbnMgYW5kIHRvb2xzLgoKJWRlc2NyaXB0 aW9uIC1uIGxpYmxkYXAKT3BlbkxEQVAgaXMgYW4gb3BlbiBzb3VyY2Ugc3VpdGUgb2YgTERBUCAo TGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcwpQcm90b2NvbCkgYXBwbGljYXRpb25zIGFuZCBk ZXZlbG9wbWVudCB0b29scy4gIExEQVAgaXMgYSBzZXQgb2YKcHJvdG9jb2xzIGZvciBhY2Nlc3Np bmcgZGlyZWN0b3J5IHNlcnZpY2VzICh1c3VhbGx5IHBob25lIGJvb2sgc3R5bGUKaW5mb3JtYXRp b24sIGJ1dCBvdGhlciBpbmZvcm1hdGlvbiBpcyBwb3NzaWJsZSkgb3ZlciB0aGUgSW50ZXJuZXQs CnNpbWlsYXIgdG8gdGhlIHdheSBETlMgKERvbWFpbiBOYW1lIFN5c3RlbSkgaW5mb3JtYXRpb24g aXMgcHJvcGFnYXRlZApvdmVyIHRoZSBJbnRlcm5ldC4gIFRoZSBzdWl0ZSBpbmNsdWRlcyBhIHN0 YW5kLWFsb25lIExEQVAgc2VydmVyCihzbGFwZCksIGEgc3RhbmQtYWxvbmUgTERBUCByZXBsaWNh dGlvbiBzZXJ2ZXIgKHNsdXJwZCksIGxpYnJhcmllcyBmb3IKaW1wbGVtZW50aW5nIHRoZSBMREFQ IHByb3RvY29sLCB1dGlsaXRpZXMsIHRvb2xzLCBhbmQgc2FtcGxlIGNsaWVudHMuCgpUaGlzIHBh Y2thZ2UgY29udGFpbnMgc2hhcmVkIGxpYnJhcmllcyBuZWVkZWQgZm9yIG1ha2Ugd29ya3MgJW5h bWUtYmFzZWQgc29mdGFyZS4KCiVkZXNjcmlwdGlvbiAtbiBsaWJsZGFwLWRldmVsCk9wZW5MREFQ IGlzIGFuIG9wZW4gc291cmNlIHN1aXRlIG9mIExEQVAgKExpZ2h0d2VpZ2h0IERpcmVjdG9yeSBB Y2Nlc3MKUHJvdG9jb2wpIGFwcGxpY2F0aW9ucyBhbmQgZGV2ZWxvcG1lbnQgdG9vbHMuICBMREFQ IGlzIGEgc2V0IG9mCnByb3RvY29scyBmb3IgYWNjZXNzaW5nIGRpcmVjdG9yeSBzZXJ2aWNlcyAo dXN1YWxseSBwaG9uZSBib29rIHN0eWxlCmluZm9ybWF0aW9uLCBidXQgb3RoZXIgaW5mb3JtYXRp b24gaXMgcG9zc2libGUpIG92ZXIgdGhlIEludGVybmV0LApzaW1pbGFyIHRvIHRoZSB3YXkgRE5T IChEb21haW4gTmFtZSBTeXN0ZW0pIGluZm9ybWF0aW9uIGlzIHByb3BhZ2F0ZWQKb3ZlciB0aGUg SW50ZXJuZXQuICBUaGUgc3VpdGUgaW5jbHVkZXMgYSBzdGFuZC1hbG9uZSBMREFQIHNlcnZlcgoo c2xhcGQpLCBhIHN0YW5kLWFsb25lIExEQVAgcmVwbGljYXRpb24gc2VydmVyIChzbHVycGQpLCBs aWJyYXJpZXMgZm9yCmltcGxlbWVudGluZyB0aGUgTERBUCBwcm90b2NvbCwgdXRpbGl0aWVzLCB0 b29scywgYW5kIHNhbXBsZSBjbGllbnRzLgoKVGhpcyBwYWNrYWdlIGluY2x1ZGVzIHRoZSBkZXZl bG9wbWVudCBsaWJyYXJpZXMgYW5kIGhlYWRlciBmaWxlcyBuZWVkZWQKZm9yIGRldmVsb3Bpbmcg YXBwbGljYXRpb25zIHRoYXQgdXNlIExEQVAgaW50ZXJuYWxzLiBJbnN0YWxsIHRoaXMgcGFja2Fn ZQpvbmx5IGlmIHlvdSBwbGFuIHRvIGRldmVsb3Agb3Igd2lsbCBuZWVkIHRvIGNvbXBpbGUgY3Vz dG9taXplZCBMREFQIGNsaWVudHMuCgolZGVzY3JpcHRpb24gLW4gbGlibGRhcC1kZXZlbC1zdGF0 aWMKT3BlbkxEQVAgaXMgYW4gb3BlbiBzb3VyY2Ugc3VpdGUgb2YgTERBUCAoTGlnaHR3ZWlnaHQg RGlyZWN0b3J5IEFjY2VzcwpQcm90b2NvbCkgYXBwbGljYXRpb25zIGFuZCBkZXZlbG9wbWVudCB0 b29scy4gIExEQVAgaXMgYSBzZXQgb2YKcHJvdG9jb2xzIGZvciBhY2Nlc3NpbmcgZGlyZWN0b3J5 IHNlcnZpY2VzICh1c3VhbGx5IHBob25lIGJvb2sgc3R5bGUKaW5mb3JtYXRpb24sIGJ1dCBvdGhl ciBpbmZvcm1hdGlvbiBpcyBwb3NzaWJsZSkgb3ZlciB0aGUgSW50ZXJuZXQsCnNpbWlsYXIgdG8g dGhlIHdheSBETlMgKERvbWFpbiBOYW1lIFN5c3RlbSkgaW5mb3JtYXRpb24gaXMgcHJvcGFnYXRl ZApvdmVyIHRoZSBJbnRlcm5ldC4gIFRoZSBzdWl0ZSBpbmNsdWRlcyBhIHN0YW5kLWFsb25lIExE QVAgc2VydmVyCihzbGFwZCksIGEgc3RhbmQtYWxvbmUgTERBUCByZXBsaWNhdGlvbiBzZXJ2ZXIg KHNsdXJwZCksIGxpYnJhcmllcyBmb3IKaW1wbGVtZW50aW5nIHRoZSBMREFQIHByb3RvY29sLCB1 dGlsaXRpZXMsIHRvb2xzLCBhbmQgc2FtcGxlIGNsaWVudHMuCgpUaGlzIHBhY2thZ2UgaW5jbHVk ZXMgdGhlIHN0YXRpYyBsaWJyYXJpZXMgbmVlZGVkIGZvciBkZXZlbG9waW5nIHN0YXRpY2FsbHkK bGlua2VkIGFwcGxpY2F0aW9ucyB0aGF0IHVzZSBMREFQIGludGVybmFscy4KCiVkZXNjcmlwdGlv biBzZXJ2ZXJzCk9wZW5MREFQIGlzIGFuIG9wZW4gc291cmNlIHN1aXRlIG9mIExEQVAgKExpZ2h0 d2VpZ2h0IERpcmVjdG9yeSBBY2Nlc3MKUHJvdG9jb2wpIGFwcGxpY2F0aW9ucyBhbmQgZGV2ZWxv cG1lbnQgdG9vbHMuICBMREFQIGlzIGEgc2V0IG9mCnByb3RvY29scyBmb3IgYWNjZXNzaW5nIGRp cmVjdG9yeSBzZXJ2aWNlcyAodXN1YWxseSBwaG9uZSBib29rIHN0eWxlCmluZm9ybWF0aW9uLCBi dXQgb3RoZXIgaW5mb3JtYXRpb24gaXMgcG9zc2libGUpIG92ZXIgdGhlIEludGVybmV0LApzaW1p bGFyIHRvIHRoZSB3YXkgRE5TIChEb21haW4gTmFtZSBTeXN0ZW0pIGluZm9ybWF0aW9uIGlzIHBy b3BhZ2F0ZWQKb3ZlciB0aGUgSW50ZXJuZXQuICBUaGUgc3VpdGUgaW5jbHVkZXMgYSBzdGFuZC1h bG9uZSBMREFQIHNlcnZlcgooc2xhcGQpLCBhIHN0YW5kLWFsb25lIExEQVAgcmVwbGljYXRpb24g c2VydmVyIChzbHVycGQpLCBsaWJyYXJpZXMgZm9yCmltcGxlbWVudGluZyB0aGUgTERBUCBwcm90 b2NvbCwgdXRpbGl0aWVzLCB0b29scywgYW5kIHNhbXBsZSBjbGllbnRzLgoKSW5zdGFsbCAlbmFt ZS1zZXJ2ZXJzIGlmIHlvdSBuZWVkIExEQVAgc2VydmVycy4KCiVkZXNjcmlwdGlvbiBjbGllbnRz Ck9wZW5MREFQIGlzIGFuIG9wZW4gc291cmNlIHN1aXRlIG9mIExEQVAgKExpZ2h0d2VpZ2h0IERp cmVjdG9yeSBBY2Nlc3MKUHJvdG9jb2wpIGFwcGxpY2F0aW9ucyBhbmQgZGV2ZWxvcG1lbnQgdG9v bHMuICBMREFQIGlzIGEgc2V0IG9mCnByb3RvY29scyBmb3IgYWNjZXNzaW5nIGRpcmVjdG9yeSBz ZXJ2aWNlcyAodXN1YWxseSBwaG9uZSBib29rIHN0eWxlCmluZm9ybWF0aW9uLCBidXQgb3RoZXIg aW5mb3JtYXRpb24gaXMgcG9zc2libGUpIG92ZXIgdGhlIEludGVybmV0LApzaW1pbGFyIHRvIHRo ZSB3YXkgRE5TIChEb21haW4gTmFtZSBTeXN0ZW0pIGluZm9ybWF0aW9uIGlzIHByb3BhZ2F0ZWQK b3ZlciB0aGUgSW50ZXJuZXQuICBUaGUgc3VpdGUgaW5jbHVkZXMgYSBzdGFuZC1hbG9uZSBMREFQ IHNlcnZlcgooc2xhcGQpLCBhIHN0YW5kLWFsb25lIExEQVAgcmVwbGljYXRpb24gc2VydmVyIChz bHVycGQpLCBsaWJyYXJpZXMgZm9yCmltcGxlbWVudGluZyB0aGUgTERBUCBwcm90b2NvbCwgdXRp bGl0aWVzLCB0b29scywgYW5kIHNhbXBsZSBjbGllbnRzLgoKSW5zdGFsbCAlbmFtZS1jbGllbnQg aWYgeW91IG5lZWQgTERBUCBhcHBsaWNhdGlvbnMgYW5kIHRvb2xzLgoKJWRlc2NyaXB0aW9uIGd1 aWRlCk9wZW5MREFQIEFkbWluaXN0cmF0aW9uIEd1aWRlCgolZGVzY3JpcHRpb24gc2VydmVycy1z YXNsCk9wZW5MREFQIGlzIGFuIG9wZW4gc291cmNlIHN1aXRlIG9mIExEQVAgKExpZ2h0d2VpZ2h0 IERpcmVjdG9yeSBBY2Nlc3MKUHJvdG9jb2wpIGFwcGxpY2F0aW9ucyBhbmQgZGV2ZWxvcG1lbnQg dG9vbHMuICBMREFQIGlzIGEgc2V0IG9mCnByb3RvY29scyBmb3IgYWNjZXNzaW5nIGRpcmVjdG9y eSBzZXJ2aWNlcyAodXN1YWxseSBwaG9uZSBib29rIHN0eWxlCmluZm9ybWF0aW9uLCBidXQgb3Ro ZXIgaW5mb3JtYXRpb24gaXMgcG9zc2libGUpIG92ZXIgdGhlIEludGVybmV0LApzaW1pbGFyIHRv IHRoZSB3YXkgRE5TIChEb21haW4gTmFtZSBTeXN0ZW0pIGluZm9ybWF0aW9uIGlzIHByb3BhZ2F0 ZWQKb3ZlciB0aGUgSW50ZXJuZXQuICBUaGUgc3VpdGUgaW5jbHVkZXMgYSBzdGFuZC1hbG9uZSBM REFQIHNlcnZlcgooc2xhcGQpLCBhIHN0YW5kLWFsb25lIExEQVAgcmVwbGljYXRpb24gc2VydmVy IChzbHVycGQpLCBsaWJyYXJpZXMgZm9yCmltcGxlbWVudGluZyB0aGUgTERBUCBwcm90b2NvbCwg dXRpbGl0aWVzLCB0b29scywgYW5kIHNhbXBsZSBjbGllbnRzLgoKSW5zdGFsbCAlbmFtZS1zZXJ2 ZXJzLXNhc2wgaWYgeW91IG5lZWQgTERBUCBzZXJ2ZXJzIHdpdGggU0FTTCBzdXBwb3J0LgoKJWRl c2NyaXB0aW9uIGNsaWVudHMtc2FzbApPcGVuTERBUCBpcyBhbiBvcGVuIHNvdXJjZSBzdWl0ZSBv ZiBMREFQIChMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzClByb3RvY29sKSBhcHBsaWNhdGlv bnMgYW5kIGRldmVsb3BtZW50IHRvb2xzLiAgTERBUCBpcyBhIHNldCBvZgpwcm90b2NvbHMgZm9y IGFjY2Vzc2luZyBkaXJlY3Rvcnkgc2VydmljZXMgKHVzdWFsbHkgcGhvbmUgYm9vayBzdHlsZQpp bmZvcm1hdGlvbiwgYnV0IG90aGVyIGluZm9ybWF0aW9uIGlzIHBvc3NpYmxlKSBvdmVyIHRoZSBJ bnRlcm5ldCwKc2ltaWxhciB0byB0aGUgd2F5IEROUyAoRG9tYWluIE5hbWUgU3lzdGVtKSBpbmZv cm1hdGlvbiBpcyBwcm9wYWdhdGVkCm92ZXIgdGhlIEludGVybmV0LiAgVGhlIHN1aXRlIGluY2x1 ZGVzIGEgc3RhbmQtYWxvbmUgTERBUCBzZXJ2ZXIKKHNsYXBkKSwgYSBzdGFuZC1hbG9uZSBMREFQ IHJlcGxpY2F0aW9uIHNlcnZlciAoc2x1cnBkKSwgbGlicmFyaWVzIGZvcgppbXBsZW1lbnRpbmcg dGhlIExEQVAgcHJvdG9jb2wsIHV0aWxpdGllcywgdG9vbHMsIGFuZCBzYW1wbGUgY2xpZW50cy4K Ckluc3RhbGwgJW5hbWUtY2xpZW50LXNhc2wgaWYgeW91IG5lZWQgTERBUCBhcHBsaWNhdGlvbnMg YW5kIHRvb2xzIHdpdGggU0FTTCBzdXBwb3J0LgoKJWRlc2NyaXB0aW9uIHNlcnZlcnMta3JiCk9w ZW5MREFQIGlzIGFuIG9wZW4gc291cmNlIHN1aXRlIG9mIExEQVAgKExpZ2h0d2VpZ2h0IERpcmVj dG9yeSBBY2Nlc3MKUHJvdG9jb2wpIGFwcGxpY2F0aW9ucyBhbmQgZGV2ZWxvcG1lbnQgdG9vbHMu ICBMREFQIGlzIGEgc2V0IG9mCnByb3RvY29scyBmb3IgYWNjZXNzaW5nIGRpcmVjdG9yeSBzZXJ2 aWNlcyAodXN1YWxseSBwaG9uZSBib29rIHN0eWxlCmluZm9ybWF0aW9uLCBidXQgb3RoZXIgaW5m b3JtYXRpb24gaXMgcG9zc2libGUpIG92ZXIgdGhlIEludGVybmV0LApzaW1pbGFyIHRvIHRoZSB3 YXkgRE5TIChEb21haW4gTmFtZSBTeXN0ZW0pIGluZm9ybWF0aW9uIGlzIHByb3BhZ2F0ZWQKb3Zl ciB0aGUgSW50ZXJuZXQuICBUaGUgc3VpdGUgaW5jbHVkZXMgYSBzdGFuZC1hbG9uZSBMREFQIHNl cnZlcgooc2xhcGQpLCBhIHN0YW5kLWFsb25lIExEQVAgcmVwbGljYXRpb24gc2VydmVyIChzbHVy cGQpLCBsaWJyYXJpZXMgZm9yCmltcGxlbWVudGluZyB0aGUgTERBUCBwcm90b2NvbCwgdXRpbGl0 aWVzLCB0b29scywgYW5kIHNhbXBsZSBjbGllbnRzLgoKSW5zdGFsbCAlbmFtZS1zZXJ2ZXJzLWty YiBpZiB5b3UgbmVlZCBMREFQIHNlcnZlcnMgd2l0aCBLRVJCRVJPUyBzdXBwb3J0LgoKJWRlc2Ny aXB0aW9uIGNsaWVudHMta3JiCk9wZW5MREFQIGlzIGFuIG9wZW4gc291cmNlIHN1aXRlIG9mIExE QVAgKExpZ2h0d2VpZ2h0IERpcmVjdG9yeSBBY2Nlc3MKUHJvdG9jb2wpIGFwcGxpY2F0aW9ucyBh bmQgZGV2ZWxvcG1lbnQgdG9vbHMuICBMREFQIGlzIGEgc2V0IG9mCnByb3RvY29scyBmb3IgYWNj ZXNzaW5nIGRpcmVjdG9yeSBzZXJ2aWNlcyAodXN1YWxseSBwaG9uZSBib29rIHN0eWxlCmluZm9y bWF0aW9uLCBidXQgb3RoZXIgaW5mb3JtYXRpb24gaXMgcG9zc2libGUpIG92ZXIgdGhlIEludGVy bmV0LApzaW1pbGFyIHRvIHRoZSB3YXkgRE5TIChEb21haW4gTmFtZSBTeXN0ZW0pIGluZm9ybWF0 aW9uIGlzIHByb3BhZ2F0ZWQKb3ZlciB0aGUgSW50ZXJuZXQuICBUaGUgc3VpdGUgaW5jbHVkZXMg YSBzdGFuZC1hbG9uZSBMREFQIHNlcnZlcgooc2xhcGQpLCBhIHN0YW5kLWFsb25lIExEQVAgcmVw bGljYXRpb24gc2VydmVyIChzbHVycGQpLCBsaWJyYXJpZXMgZm9yCmltcGxlbWVudGluZyB0aGUg TERBUCBwcm90b2NvbCwgdXRpbGl0aWVzLCB0b29scywgYW5kIHNhbXBsZSBjbGllbnRzLgoKSW5z dGFsbCAlbmFtZS1jbGllbnQta3JiIGlmIHlvdSBuZWVkIExEQVAgYXBwbGljYXRpb25zIGFuZCB0 b29scyB3aXRoIEtFUkJFUk9TIHN1cHBvcnQuCgolcHJlcAolc2V0dXAgLXEgLWExCiMlcGF0Y2gw IC1wMSAtYiAuY29uZmlnCiMjIyVwYXRjaDIgLXAxIC1iIC5rcmI1LTEuMQojIyMlcGF0Y2gzIC1w MSAtYiAuZGIzCiVwYXRjaDQgLXAxIC1iIC5tb2R1bGUKIyVwYXRjaDUgLXAxIC1iIC5zY2hlbWEK JXBhdGNoNiAtcDEgLWIgLnNsYXBkLmNvbmYKIyVwYXRjaDcgLXAxIC1iIC5jbGRhcAojJXBhdGNo OCAtcDEgLWIgLnN5c2xvZwolcGF0Y2g5IC1wMSAtYiAuY29uZmZpbGUKIyVwYXRjaDExIC1wMSAt YiAuc3FsCiMjIyVwYXRjaDEyIC1wMQolcGF0Y2gxMyAtcDAgLWIgLnNibW9kdWxlLWR5bmFtaWMK JXBhdGNoMTQgLXAxIC1iIC5jb25mLXRpbmZvCiVpZl93aXRoIHNhc2wKIyUlcGF0Y2gxNSAtcDEg LWIgLmNvbmYtc2FzbDIKJWVuZGlmICMgd2l0aCBzYXNsCgppbnN0YWxsIC1wIC1tNjQ0ICVTT1VS Q0UyIC4KCgolaWZfd2l0aCBzYXNsCiMgVGhpcyBpcyByZXBsYWNlIHRoZSBzYXNsL3Nhc2wqIHRv IHNhc2wyL3Nhc2wqCiNmaW5kICVfYnVpbGRkaXIvJW5hbWUtJXZlcnNpb24vc2VydmVycy8gLXR5 cGUgZiAtcHJpbnQwIHwKIwl4YXJncyAtcjAgZWdyZXAgLWwgJ3Nhc2xcLycgfAojCXhhcmdzIHBl cmwgLXBpIC1lICdzLHNhc2xcLyxzYXNsMi8sZycKCiNmaW5kICVfYnVpbGRkaXIvJW5hbWUtJXZl cnNpb24vaW5jbHVkZS8gLXR5cGUgZiAtcHJpbnQwIHwKIwl4YXJncyAtcjAgZWdyZXAgLWwgJ3Nh c2xcLycgfAojCXhhcmdzIHBlcmwgLXBpIC1lICdzLHNhc2xcLyxzYXNsMi8sZycKCiNmaW5kICVf YnVpbGRkaXIvJW5hbWUtJXZlcnNpb24vbGlicmFyaWVzLyAtdHlwZSBmIC1wcmludDAgfAojCXhh cmdzIC1yMCBlZ3JlcCAtbCAnc2FzbFwvJyB8CiMJeGFyZ3MgcGVybCAtcGkgLWUgJ3Msc2FzbFwv LHNhc2wyLyxnJwoKI2ZpbmQgJV9idWlsZGRpci8lbmFtZS0ldmVyc2lvbi9saWJyYXJpZXMvIC10 eXBlIGYgLXByaW50MCB8CiMJeGFyZ3MgLXIwIGVncmVwIC1sICdIQVZFX1NBU0xfU0FTTF9IJyB8 CiMJeGFyZ3MgcGVybCAtcGkgLWUgJ3MsSEFWRV9TQVNMX1NBU0xfSCxIQVZFX1NBU0wyX1NBU0xf SCxnJwoKI2ZpbmQgJV9idWlsZGRpci8lbmFtZS0ldmVyc2lvbi9zZXJ2ZXJzLyAtdHlwZSBmIC1w cmludDAgfAojCXhhcmdzIC1yMCBlZ3JlcCAtbCAnSEFWRV9TQVNMX1NBU0xfSCcgfAojCXhhcmdz IHBlcmwgLXBpIC1lICdzLEhBVkVfU0FTTF9TQVNMX0gsSEFWRV9TQVNMMl9TQVNMX0gsZycKCgoK JWVuZGlmICMgd2l0aCBzYXNsCgolYnVpbGQKJXNldF9hdXRvY29uZl92ZXJzaW9uIDIuMTMKJXNl dF9hdXRvbWFrZV92ZXJzaW9uIDEuNAoKIyMlJXVuZGVmaW5lIF9fbGlidG9vbGl6ZQpleHBvcnQg YWNfY3ZfcGF0aF9TRU5ETUFJTD0vdXNyL3NiaW4vc2VuZG1haWwKZXhwb3J0IGFjX2N2X3BhdGhf RklOR0VSPS91c3IvYmluL2ZpbmdlcgphdXRvaGVhZGVyCmFjbG9jYWwKYXV0b2NvbmYKY2htb2Qg LVIgdSt4IC4KCiMgTGluZSBiZWxvdyBuZWVkIGZvciBzb21lIGJhZCBjb25maWd1cmUgc2NyaXB0 cyBsaWtlIGluIGF1dGhfbGRhcCBwYWNrYWdlCmV4cG9ydCBMREZMQUdTPSIkTERGTEFHUyAtbHJl c29sdiIKCiMgVGhpcyBmbGFnIG5lZWQgZm9yIGRvbid0IHRlc3QgZ2V0YWRkcmluZm8gZnVuY3Rp b24sIHdoZW4gcHJvYmxlbSBnZXRhZGRyaW5mbyBiZWVuIHNvbHZlZCByZW1vdmUgbGluZSBiZWxv dwojRml4IGluIDIuMC4xNgojZXhwb3J0IGFjX2N2X2Z1bmNfZ2V0YWRkcmluZm89bm8KCiVpZiAi JV9fYnVpbGRyZXFzIiA9PSAiMSIKIyBUaGlzIGlzIHJlcXVpcmVkIGZvciBidWlsZGluZyBidWls ZHJlcXVpcmVzIDopCmV4cG9ydCBvbF9jdl9wdGhyZWFkX3B0aHJlYWQ9eWVzCmV4cG9ydCBvbF9j dl9wdGhyZWFkX2NyZWF0ZV93b3Jrcz15ZXMKZXhwb3J0IG9sX2N2X3B0aHJlYWRfc2VsZWN0X3lp ZWxkcz15ZXMKJWVuZGlmCgojIFRoaXMgaXMgYSBoYWNrIGZvciB3b3JrIGNvbmZpZ3VyZSBzY3Jp cHRzCiMgSXQncyBuZWVkcyB3aGlsZSBPcGVuTERBUCBwcm9qZWN0IG1pZ3JhdGUgdG8gbm9ybWFs ICB2ZXJzaW9uIG9mIGF1dG9jb25mCnRvdWNoIGJ1aWxkL2luc3RhbGwuc2gKCmVjaG8gIiMjIGRl ZmluZSBjb21tb24gY29uZmlndXJlIGZsYWdzIgpDT01NT05GTEFHUz0iLS1kYXRhZGlyPSVfZGF0 YWRpci8lbmFtZSBcCgktLWxpYmV4ZWNkaXI9JV9zYmluZGlyIFwKCS0tbG9jYWxzdGF0ZWRpcj0l X3Zhci9ydW4gXAoJLS1lbmFibGUtc3lzbG9nIFwKCS0tZGlzYWJsZS1pcHY2IFwKCS0tZGlzYWJs ZS14LWNvbXBpbGUgXAoJLS13aXRoLXJlYWRsaW5lIFwKCS0td2l0aC10aHJlYWRzIFwKCS0td2l0 aC10bHM9b3BlbnNzbCBcCgktLWVuYWJsZS1zbGFwZCBcCgktLWVuYWJsZS1jcnlwdCBcCgktLWVu YWJsZS1tb2R1bGVzIFwKCS0tZW5hYmxlLXdyYXBwZXJzIFwKCS0tZW5hYmxlLWFjaSBcCgktLWVu YWJsZS1keW5hbWljIFwKCS0tZW5hYmxlLXNsdXJwZCBcCgktLWVuYWJsZS1waG9uZXRpYyBcCgkt LWVuYWJsZS1yZXdyaXRlIFwKCSIKCQplY2hvICIjIyBkZWZpbmUgbW9kdWxlcyBmbGFncyIKZWNo byAiIyMgUGVybCBtb2R1bGUgcmVtb3ZlZCBiZWNvdXNlIG5vdCBjb21waWxlIGluIFRPRE8gbm93 LiIKZWNobyAiIyMgU1FMIG1vZHVsZSByZW1vdmVkIGJlY291c2Ugbm90IGNvbXBpbGUgaW4gVE9E TyBub3cuIgpNT0RVTEVTRkxBR1M9Ii0tZW5hYmxlLWJkYiBcCgktLXdpdGgtYmRiLW1vZHVsZT1k eW5hbWljIFwKCS0tZW5hYmxlLWxkYXAgXAoJLS13aXRoLWxkYXAtbW9kdWxlPWR5bmFtaWMgXAoJ LS1lbmFibGUtbGRibSBcCgktLXdpdGgtbGRibS1hcGk9YmVya2VsZXkgXAoJLS13aXRoLWxkYm0t bW9kdWxlPWR5bmFtaWMgXAoJLS13aXRoLWxkYm0tdHlwZT1idHJlZSBcCgktLWVuYWJsZS1tZXRh IFwKCS0td2l0aC1tZXRhLW1vZHVsZT1keW5hbWljIFwKCS0tZW5hYmxlLW1vbml0b3IgXAoJLS13 aXRoLW1vbml0b3ItbW9kdWxlPWR5bmFtaWMgXAoJLS1lbmFibGUtbnVsbCBcCgktLXdpdGgtbnVs bC1tb2R1bGU9ZHluYW1pYyBcCgktLWVuYWJsZS1wYXNzd2QgXAoJLS13aXRoLXBhc3N3ZC1tb2R1 bGU9ZHluYW1pYyBcCgktLWVuYWJsZS1zaGVsbCBcCgktLXdpdGgtc2hlbGwtbW9kdWxlPWR5bmFt aWMgXAoJLS1lbmFibGUtZG5zc3J2IFwKCS0td2l0aC1kbnNzcnYtbW9kdWxlPWR5bmFtaWMgXAoJ IgoKJWlmX3dpdGgga3JiCiMjIwojIyAgTWFkZSBPcGVuTERBUCB3aXRob3V0IFNBU0wgYW5kIHdp dGggS2VyYm9yb3MKIyMjCgpDUFBGTEFHUz0iJENQUEZMQUdTIC1JL3Vzci9pbmNsdWRlL2tyYjUi CgolY29uZmlndXJlIFwKCSRDT01NT05GTEFHUyBcCgkkTU9EVUxFU0ZMQUdTIFwKCS0td2l0aC1r ZXJiZXJvcyBcCgktLXdpdGhvdXQtY3lydXMtc2FzbCBcCgktLWVuYWJsZS1rcGFzc3dkIFwKCS0t ZW5hYmxlLWRlYnVnIAoKJW1ha2VfYnVpbGQgZGVwZW5kCiVtYWtlX2J1aWxkCgolaWZfd2l0aCBi dWlsZHRlc3QKCiVpZiAiJV9fYnVpbGRyZXFzIiAhPSAiMSIKI0lmIHRlc3QgaXMgT0sgaW4gY29t cGlsYXRpb24gdGltZSB0aGF0J3MgQUxMIE9LLgolbWFrZV9idWlsZCB0ZXN0CiVlbmRpZgolZW5k aWYgIyB3dXRoIGJ1aWxkdGVzdAoKIyBTYXZlIHRoZSByZXN1bHQgb2YgY29tcGlsYXNoaW9uCm12 IC4vc2VydmVycy9zbGFwZC9zbGFwZCAuL3NlcnZlcnMvc2xhcGQvc2xhcGQua3JiCm12IC4vbGli cmFyaWVzL2xpYmxkYXBfci9saWJsZGFwX3IubGEgLi9saWJyYXJpZXMvbGlibGRhcF9yL2xpYmxk YXBfci5sYS5rcmIKZm9yIG4gaW4gYGxzIC4vbGlicmFyaWVzL2xpYmxkYXBfci9saWJsZGFwX3Iu c28qYDsgZG8KCW12ICRuICRuLmtyYgpkb25lCgptdiAuL2xpYnJhcmllcy9saWJsZGFwL2xpYmxk YXAubGEgLi9saWJyYXJpZXMvbGlibGRhcC9saWJsZGFwLmxhLmtyYgpmb3IgbiBpbiBgbHMgLi9s aWJyYXJpZXMvbGlibGRhcC9saWJsZGFwLnNvKmA7IGRvCgltdiAkbiAkbi5rcmIKZG9uZQoKJWVu ZGlmICMgd2l0aCBrcmIKCiVpZl93aXRoIHNhc2wKIyMjCiMjICBNYWRlIE9wZW5MREFQIHdpdGgg U0FTTCBhbmQgd2l0aG91dEtlcmJvcm9zCiMjIwoKJWNvbmZpZ3VyZSBcCgkkQ09NTU9ORkxBR1Mg XAoJJE1PRFVMRVNGTEFHUyBcCgktLXdpdGhvdXQta2VyYmVyb3MgXAoJLS13aXRoLWN5cnVzLXNh c2wgXAoJLS1lbmFibGUtc3Bhc3N3ZCBcCgktLWVuYWJsZS1kZWJ1ZyAKCiVtYWtlX2J1aWxkIGRl cGVuZAolbWFrZV9idWlsZAoKJWlmICIlX19idWlsZHJlcXMiICE9ICIxIgojI0lmIHRlc3QgaXMg T0sgaW4gY29tcGlsYXRpb24gdGltZSB0aGF0J3MgQUxMIE9LLgolbWFrZV9idWlsZCB0ZXN0CiVl bmRpZgoKIyMjIFNhdmUgdGhlIHJlc3VsdHMKbXYgLi9zZXJ2ZXJzL3NsYXBkL3NsYXBkIC4vc2Vy dmVycy9zbGFwZC9zbGFwZC5zYXNsMgptdiAuL2xpYnJhcmllcy9saWJsZGFwX3IvbGlibGRhcF9y LmxhIC4vbGlicmFyaWVzL2xpYmxkYXBfci9saWJsZGFwX3IubGEuc2FzbDIKZm9yIG4gaW4gYGxz IC4vbGlicmFyaWVzL2xpYmxkYXBfci9saWJsZGFwX3Iuc28qYDsgZG8KCW12ICRuICRuLnNhc2wy CmRvbmUKCm12IC4vbGlicmFyaWVzL2xpYmxkYXAvbGlibGRhcC5sYSAuL2xpYnJhcmllcy9saWJs ZGFwL2xpYmxkYXAubGEuc2FzbDIKZm9yIG4gaW4gYGxzIC4vbGlicmFyaWVzL2xpYmxkYXAvbGli bGRhcC5zbypgOyBkbwoJbXYgJG4gJG4uc2FzbDIKZG9uZQoKJWVuZGlmICMgd2l0aCBzYXNsCgoj IyMKIyMgIE1hZGUgT3BlbkxEQVAgd2l0aG91dCBTQVNMIGFuZCBLZXJib3JvcwojIyMKJWNvbmZp Z3VyZSBcCgkkQ09NTU9ORkxBR1MgXAoJJE1PRFVMRVNGTEFHUyBcCgktLXdpdGhvdXQta2VyYmVy b3MgXAoJLS13aXRob3V0LWN5cnVzLXNhc2wgXAoJLS1lbmFibGUtZGVidWcgCgkKJW1ha2VfYnVp bGQgZGVwZW5kCiVtYWtlX2J1aWxkCgolaWYgIiVfX2J1aWxkcmVxcyIgIT0gIjEiCiNJZiB0ZXN0 IGlzIE9LIGluIGNvbXBpbGF0aW9uIHRpbWUgdGhhdCdzIEFMTCBPSy4KIyMjJSVtYWtlX2J1aWxk IHRlc3QKJWVuZGlmCgoKJWluc3RhbGwKIyUlX3ZlcmlmeV9lbGZfbWV0aG9kIHJlZmxleAojbWtk aXIgLXAgJFJQTV9CVUlMRF9ST09UJV9zYmluZGlyCiVtYWtlaW5zdGFsbCBcCglkYXRhZGlyPSRS UE1fQlVJTERfUk9PVCVfZGF0YWRpci8lbmFtZSBcCglsaWJleGVjZGlyPSRSUE1fQlVJTERfUk9P VCVfc2JpbmRpciBcCglsb2NhbHN0YXRlZGlyPSRSUE1fQlVJTERfUk9PVC92YXIvcnVuIFwKCXN5 c2NvbmZkaXI9JFJQTV9CVUlMRF9ST09UJV9zeXNjb25mZGlyLyVuYW1lCgojIyMKIyMgSW5zdGFs bCBhbGwgbmV3IHNsYXBkIFNBU0wmS0VSQkVST1MgCiMjIwolaWZfd2l0aCBzYXNsCiMjaW5zdGFs bCBzZXJ2ZXJzL3NsYXBkL3NsYXBkLnNhc2wyICRSUE1fQlVJTERfUk9PVCVfc2JpbmRpci8KCiVl bmRpZiAjIHdpdGggc2FzbAolaWZfd2l0aCBrcmIKIyNpbnN0YWxsIHNlcnZlcnMvc2xhcGQvc2xh cGQua3JiICRSUE1fQlVJTERfUk9PVCVfc2JpbmRpci8KJWVuZGlmICMgd2l0aCBrcmIKCiMgSWYg bGRhcGFkZCBhbmQgbGRhcG1vZGlmeSBhcmUgdGhlIHNhbWUsIG1ha2UgdGhlbSBhIHNvZnQgbGlu ay4KaWYgY21wICRSUE1fQlVJTERfUk9PVCVfYmluZGlyL2xkYXBhZGQgJFJQTV9CVUlMRF9ST09U JV9iaW5kaXIvbGRhcG1vZGlmeTsgdGhlbgoJbG4gLXNuZiBsZGFwYWRkICRSUE1fQlVJTERfUk9P VCVfYmluZGlyL2xkYXBtb2RpZnkKZmkKCiMgQ3JlYXRlIHRoZSB2YXIgZGF0YSBkaXJlY3Rvcnku Cm1rZGlyIC1wICRSUE1fQlVJTERfUk9PVCVfbG9jYWxzdGF0ZWRpci9sZGFwCm1rZGlyIC1wICRS UE1fQlVJTERfUk9PVCVfbG9jYWxzdGF0ZWRpci9sZGFwL2Jhc2VzCgojIEluc3RhbGwgaW5pdCBz Y3JpcHRzLgppbnN0YWxsIC1wRCAtbTY0NCAlU09VUkNFMTEgJFJQTV9CVUlMRF9ST09UJV9zeXNj b25mZGlyL3N5c2NvbmZpZy9sZGFwCmluc3RhbGwgLXBEIC1tNzU1ICVTT1VSQ0UxMiAkUlBNX0JV SUxEX1JPT1QlX2luaXRkaXIvbGRhcAoKIyMjIGxvZyByZXBvc2l0b3J5IGFuZCBsb2dyb3RhdGUg Y29uZmlnCm1rZGlyIC1wICRSUE1fQlVJTERfUk9PVCVfbG9nZGlyL2xkYXAKaW5zdGFsbCAtcEQg LW02NDAgJVNPVVJDRTEzICRSUE1fQlVJTERfUk9PVCVfc3lzY29uZmRpci9sb2dyb3RhdGUuZC9s ZGFwCgojIyMgZ2VuY2VydC5zaAppbnN0YWxsIC1wRCAtbTc1NSAlU09VUkNFMjEgJFJQTV9CVUlM RF9ST09UJV9kYXRhZGlyLyVuYW1lL2dlbmNlcnQuc2gKCiMgR2V0IHRoZSBidWlsZHJvb3Qgb3V0 IG9mIHRoZSBpbnN0YWxsZWQgZmlsZXMKZmluZCAkUlBNX0JVSUxEX1JPT1R7JV9zeXNjb25mZGly LCVfbWFuZGlyfSAtdHlwZSBmIHwKCXhhcmdzIGZncmVwIC1sICIkUlBNX0JVSUxEX1JPT1QiIHwK CXhhcmdzIC1yIHBlcmwgLXBpIC1lICJzfCRSUE1fQlVJTERfUk9PVHx8ZyIKCiMgV2UgZG9uJ3Qg bmVlZCB0aGUgZGVmYXVsdCBmaWxlcyAtIGxldCdzIG1vdmUgaXQuCm1rZGlyIC1wICRSUE1fQlVJ TERfUk9PVCVfZGF0YWRpci8lbmFtZS9kZWZhdWx0L3NjaGVtYQptdiAkUlBNX0JVSUxEX1JPT1Ql X3N5c2NvbmZkaXIvJW5hbWUvKi5kZWZhdWx0ICRSUE1fQlVJTERfUk9PVCVfZGF0YWRpci8lbmFt ZS9kZWZhdWx0Cm12ICRSUE1fQlVJTERfUk9PVCVfc3lzY29uZmRpci8lbmFtZS9zY2hlbWEvKi5k ZWZhdWx0ICRSUE1fQlVJTERfUk9PVCVfZGF0YWRpci8lbmFtZS9kZWZhdWx0L3NjaGVtYQoKIyBB ZGQgc29tZSBtb3JlIHNjaGVtYSBmb3IgdGhlIHNha2Ugb2YgbWlncmF0aW9uIHNjcmlwdHMgYW5k IG90aGVycwppbnN0YWxsIC1wIC1tNjQ0ICVTT1VSQ0U1MCAlU09VUkNFNTEgJVNPVVJDRTUyICVT T1VSQ0U1MyAlU09VUkNFNTQgJVNPVVJDRTU1ICVTT1VSQ0U1NiAlU09VUkNFNTcgJVNPVVJDRTU4 ICVTT1VSQ0U1OSAlU09VUkNFNjAgJVNPVVJDRTYxICVTT1VSQ0U2MiAkUlBNX0JVSUxEX1JPT1Ql X3N5c2NvbmZkaXIvJW5hbWUvc2NoZW1hCgpwdXNoZCAkUlBNX0JVSUxEX1JPT1QlX2xpYmRpcgoJ Y2htb2QgK3ggKi5zby4qCglta2RpciAtcCAkUlBNX0JVSUxEX1JPT1QvbGliCglmb3IgbiBpbiBs ZGFwIGxiZXI7IGRvCgkJbXYgbGliJG4uc28uJXtzb19tYWp9KiAuLi8uLi9saWIvCgkJbG4gLXNu ZiAuLi8uLi9saWIvbGliJG4uc28uJXtzb19tYWp9IGxpYiRuLnNvCglkb25lCnBvcGQKCmNobW9k IDY0NCAkUlBNX0JVSUxEX1JPT1QlX3N5c2NvbmZkaXIvJW5hbWUvc2NoZW1hLyoKCiMgSW5zdGFs bCBkb2N1bWVudGF0aW9uLgpta2RpciAtcCAkUlBNX0JVSUxEX1JPT1QlX2RvY2Rpci8lbmFtZS0l dmVyc2lvbgpjcCAtYSBkb2Mve2RyYWZ0cyxyZmN9ICRSUE1fQlVJTERfUk9PVCVfZG9jZGlyLyVu YW1lLSV2ZXJzaW9uCmNwIC1hICVuYW1lLWd1aWRlLTIuMSAkUlBNX0JVSUxEX1JPT1QlX2RvY2Rp ci8lbmFtZS0ldmVyc2lvbi9ndWlkZQojIEluIFRPRE8hISEKIyBjcCAtYSBzZXJ2ZXJzL3NsYXBk L2JhY2stc3FsL2RvY3MgJFJQTV9CVUlMRF9ST09UJV9kb2NkaXIvJW5hbWUtJXZlcnNpb24vYmFj ay1zcWwKaW5zdGFsbCAtcCAtbTY0NCBBTk5PVU5DRU1FTlQgQ0hBTkdFUyBDT1BZUklHSFQgUkVB RE1FIFJFQURNRS51cGdyYWRpbmcgJFJQTV9CVUlMRF9ST09UJV9kb2NkaXIvJW5hbWUtJXZlcnNp b24KCiMjIyBWQVMgUmVtb3ZlIHdoaWxlIEl0cyB3b3VkIGJlIGNvbXBpbGUgaW4gVE9ETwojIElu c3RhbGwgU1FMIGJhY2tlbmQgZXhhbXBsZXMKIyBta2RpciAtcCAkUlBNX0JVSUxEX1JPT1QlX2Rh dGFkaXIvZG9jLyVuYW1lLXNlcnZlcnMtJXZlcnNpb24vYmFjay1zcWwgXAojCSRSUE1fQlVJTERf Uk9PVCVfZGF0YWRpci8lbmFtZQojIGNwIC1hIHNlcnZlcnMvc2xhcGQvYmFjay1zcWwvcmRibXNf ZGVwZW5kICRSUE1fQlVJTERfUk9PVCVfZGF0YWRpci8lbmFtZQoKJXBvc3QgLW4gbGlibGRhcCAt cCAvc2Jpbi9wb3N0X2xkY29uZmlnCiVwb3N0dW4gLW4gbGlibGRhcCAtcCAvc2Jpbi9wb3N0dW5f bGRjb25maWcKCiVwcmUgc2VydmVycwojIFRha2UgY2FyZSB0byBvbmx5IGRvIG93bmVyc2hpcC1j aGFuZ2luZyBpZiB3ZSdyZSBhZGRpbmcgdGhlIHVzZXIuCi91c3Ivc2Jpbi9ncm91cGFkZCAtciAt ZiBsZGFwCi91c3Ivc2Jpbi91c2VyYWRkICAtciAtYyAiTERBUCBVc2VyIiAtZyBsZGFwIC11IDU1 IC1zIC9kZXYvbnVsbCAtZCAlX2xvY2Fsc3RhdGVkaXIvbGRhcCBsZGFwICY+L2Rldi9udWxsCgpp ZiBbIC1kICVfbG9jYWxzdGF0ZWRpci9sZGFwIF07IHRoZW4KCWZvciBkYmZpbGUgaW4gJV9sb2Nh bHN0YXRlZGlyL2xkYXAvKjsgZG8KCQlpZiBbIC1mICRkYmZpbGUgXTsgdGhlbgoJCQljaG93biBs ZGFwLmxkYXAgJGRiZmlsZQoJCWZpCglkb25lCmZpCgojIEZvciBjb3JyZWN0IGxvZ2dpbmcgbmVl ZCB0d28gbGluZXMgc3lzbG9nLmNvbmYKIyBlY2hvICJBZGQgdG8gJV9zeXNjb25mZGlyL3N5c2xv Zy5jb25mIExEQVAgbG9nZ2luZy4uLiIKIyBjcCAlX3N5c2NvbmZkaXIvc3lzbG9nLmNvbmYgJV9z eXNjb25mZGlyL3N5c2xvZy5jb25mLmxkYXAKIyB4YXJncyBhd2sgJ3sgcHJpbnQgJDA7IGlmICgg JDEgPT0gImZ0cC5lcnIiICkgeyBwcmludCAiXG4jIExEQVBcbiI7IHByaW50ICJMT0NBTDQuKlx0 XHRcdC92YXIvbG9nL2xkYXAvbGRhcC1hbGwubG9nIjsgfSB9JyAlX3N5c2NvbmZkaXIvc3lzbG9n LmNvbmYubGRhcCA+ICVfc3lzY29uZmRpci9zeXNsb2cuY29uZgoKJXBvc3Qgc2VydmVycwolcG9z dF9zZXJ2aWNlIGxkYXAKCiVwcmV1biBzZXJ2ZXJzCiVwcmV1bl9zZXJ2aWNlIGxkYXAKCiVmaWxl cyAtbiBsaWJsZGFwCi9saWIvKgolX2xpYmRpci8qLnNvLioKCiVmaWxlcyAtbiBsaWJsZGFwLWRl dmVsCiVfbGliZGlyLyouc28KJV9saWJkaXIvKi5sYQolX2luY2x1ZGVkaXIvKgolX21hbjNkaXIv KgolZGlyICVfZG9jZGlyLyVuYW1lLSV2ZXJzaW9uCiVfZG9jZGlyLyVuYW1lLSV2ZXJzaW9uL2Ry YWZ0cwolX2RvY2Rpci8lbmFtZS0ldmVyc2lvbi9yZmMKCiVmaWxlcyAtbiBsaWJsZGFwLWRldmVs LXN0YXRpYwolX2xpYmRpci8qLmEKCiMjIyMjIENPTU1PTgolZmlsZXMKJWRpciAlX3N5c2NvbmZk aXIvJW5hbWUKJWNvbmZpZyAlX3N5c2NvbmZkaXIvJW5hbWUvbGRhcCouY29uZgoKJWRpciAlX2Rh dGFkaXIvJW5hbWUKIyAlX2RhdGFkaXIvJW5hbWUvbGRhcGZyaWVuZGx5CgolX21hbjVkaXIvbGRh cC5jb25mLioKIyBJdCdzIHJlbW92ZWQgZnJvbSBkaXN0cmliIHNpbmNlIHYuMi4xLjMKIyAlX21h bjVkaXIvbGRhcGZpbHRlci5jb25mLioKIyAlX21hbjVkaXIvbGRhcGZyaWVuZGx5LioKIyAlX21h bjVkaXIvbGRhcHNlYXJjaHByZWZzLmNvbmYuKgojJV9tYW41ZGlyL2xkYXB0ZW1wbGF0ZXMuY29u Zi4qCiVfbWFuNWRpci9sZGlmLioKJWRpciAlX2RvY2Rpci8lbmFtZS0ldmVyc2lvbgolX2RvY2Rp ci8lbmFtZS0ldmVyc2lvbi9bQS1aXSoKCiMjIyMjIFNFUlZFUlMKJWZpbGVzIHNlcnZlcnMKJWF0 dHIoNjQwLHJvb3QsbGRhcCkgJWNvbmZpZyhub3JlcGxhY2UpICVfc3lzY29uZmRpci8lbmFtZS9z bGFwZCouY29uZgoKJWRpciAlX3N5c2NvbmZkaXIvJW5hbWUvc2NoZW1hCiVjb25maWcobm9yZXBs YWNlKSAlX3N5c2NvbmZkaXIvJW5hbWUvc2NoZW1hLyouc2NoZW1hCgolY29uZmlnKG5vcmVwbGFj ZSkgJV9zeXNjb25mZGlyL3N5c2NvbmZpZy9sZGFwCiVjb25maWcobm9yZXBsYWNlKSAlX2luaXRk aXIvbGRhcAoKJWNvbmZpZyhub3JlcGxhY2UpICVfc3lzY29uZmRpci9sb2dyb3RhdGUuZC9sZGFw CgolX3NiaW5kaXIvKgolX2xpYmRpci8lbmFtZQoKJWRpciAlX2RhdGFkaXIvJW5hbWUKIyBTaW5j ZSB2IDIuMS4zCiMgJV9kYXRhZGlyLyVuYW1lLyouaGVscAolX2RhdGFkaXIvJW5hbWUvZ2VuY2Vy dC5zaAolX2RhdGFkaXIvJW5hbWUvZGVmYXVsdAojIGluIFRPRE8KIyUlX2RhdGFkaXIvJW5hbWUv cmRibXNfZGVwZW5kCgolYXR0cig3NzAscm9vdCxsZGFwKSAlZGlyICVfbG9jYWxzdGF0ZWRpci9s ZGFwCiVhdHRyKDc3MCxyb290LGxkYXApICVkaXIgJV9sb2dkaXIvbGRhcAolYXR0cig3NzAscm9v dCxsZGFwKSAlZGlyICVfbG9jYWxzdGF0ZWRpci9sZGFwL2Jhc2VzCgoKJV9tYW41ZGlyL3NsYXBk LioKJV9tYW44ZGlyLyoKJWRpciAlX2RvY2Rpci8lbmFtZS0ldmVyc2lvbgojaW4gVE9ETwojJSVf ZG9jZGlyLyVuYW1lLSV2ZXJzaW9uL2JhY2stc3FsCgolaWZfd2l0aCBzYXNsCiMjIyMjIFNFUlZF UlMtU0FTTAolZmlsZXMgc2VydmVycy1zYXNsCiVhdHRyKDY0MCxyb290LGxkYXApICVjb25maWco bm9yZXBsYWNlKSAlX3N5c2NvbmZkaXIvJW5hbWUvc2xhcGQqLmNvbmYKCiVkaXIgJV9zeXNjb25m ZGlyLyVuYW1lL3NjaGVtYQolY29uZmlnKG5vcmVwbGFjZSkgJV9zeXNjb25mZGlyLyVuYW1lL3Nj aGVtYS8qLnNjaGVtYQoKJWNvbmZpZyhub3JlcGxhY2UpICVfc3lzY29uZmRpci9zeXNjb25maWcv bGRhcAolY29uZmlnKG5vcmVwbGFjZSkgJV9pbml0ZGlyL2xkYXAKCiVjb25maWcobm9yZXBsYWNl KSAlX3N5c2NvbmZkaXIvbG9ncm90YXRlLmQvbGRhcAoKJV9zYmluZGlyLyoKJV9saWJkaXIvJW5h bWUKCiVkaXIgJV9kYXRhZGlyLyVuYW1lCiMgU2luY2UgdiAyLjEuMwojICVfZGF0YWRpci8lbmFt ZS8qLmhlbHAKJV9kYXRhZGlyLyVuYW1lL2dlbmNlcnQuc2gKJV9kYXRhZGlyLyVuYW1lL2RlZmF1 bHQKIyBpbiBUT0RPCiMlJV9kYXRhZGlyLyVuYW1lL3JkYm1zX2RlcGVuZAoKJWF0dHIoNzcwLHJv b3QsbGRhcCkgJWRpciAlX2xvY2Fsc3RhdGVkaXIvbGRhcAolYXR0cig3NzAscm9vdCxsZGFwKSAl ZGlyICVfbG9nZGlyL2xkYXAKJWF0dHIoNzcwLHJvb3QsbGRhcCkgJWRpciAlX2xvY2Fsc3RhdGVk aXIvbGRhcC9iYXNlcwoKCiVfbWFuNWRpci9zbGFwZC4qCiVfbWFuOGRpci8qCiVkaXIgJV9kb2Nk aXIvJW5hbWUtJXZlcnNpb24KI2luIFRPRE8KIyUlX2RvY2Rpci8lbmFtZS0ldmVyc2lvbi9iYWNr LXNxbAolZW5kaWYgI3dpdGggc2FzbAoKJWlmX3dpdGgga3JiCiMjIyMjIFNFUlZFUlMtS0VSQkVS T1MKJWZpbGVzIHNlcnZlcnMta3JiCiVhdHRyKDY0MCxyb290LGxkYXApICVjb25maWcobm9yZXBs YWNlKSAlX3N5c2NvbmZkaXIvJW5hbWUvc2xhcGQqLmNvbmYKCiVkaXIgJV9zeXNjb25mZGlyLyVu YW1lL3NjaGVtYQolY29uZmlnKG5vcmVwbGFjZSkgJV9zeXNjb25mZGlyLyVuYW1lL3NjaGVtYS8q LnNjaGVtYQoKJWNvbmZpZyhub3JlcGxhY2UpICVfc3lzY29uZmRpci9zeXNjb25maWcvbGRhcAol Y29uZmlnKG5vcmVwbGFjZSkgJV9pbml0ZGlyL2xkYXAKCiVjb25maWcobm9yZXBsYWNlKSAlX3N5 c2NvbmZkaXIvbG9ncm90YXRlLmQvbGRhcAoKJV9zYmluZGlyLyoKJV9saWJkaXIvJW5hbWUKCiVk aXIgJV9kYXRhZGlyLyVuYW1lCiMgU2luY2UgdiAyLjEuMwojICVfZGF0YWRpci8lbmFtZS8qLmhl bHAKJV9kYXRhZGlyLyVuYW1lL2dlbmNlcnQuc2gKJV9kYXRhZGlyLyVuYW1lL2RlZmF1bHQKIyBp biBUT0RPCiMlJV9kYXRhZGlyLyVuYW1lL3JkYm1zX2RlcGVuZAoKJWF0dHIoNzcwLHJvb3QsbGRh cCkgJWRpciAlX2xvY2Fsc3RhdGVkaXIvbGRhcAolYXR0cig3NzAscm9vdCxsZGFwKSAlZGlyICVf bG9nZGlyL2xkYXAKJWF0dHIoNzcwLHJvb3QsbGRhcCkgJWRpciAlX2xvY2Fsc3RhdGVkaXIvbGRh cC9iYXNlcwoKCiVfbWFuNWRpci9zbGFwZC4qCiVfbWFuOGRpci8qCiVkaXIgJV9kb2NkaXIvJW5h bWUtJXZlcnNpb24KI2luIFRPRE8KIyUlX2RvY2Rpci8lbmFtZS0ldmVyc2lvbi9iYWNrLXNxbAol ZW5kaWYgIyB3aXRoIGtyYgoKIyMjIyMgQ0xJRU5UUwolZmlsZXMgY2xpZW50cwolX2JpbmRpci8q CiVfbWFuMWRpci8qCgolaWZfd2l0aCBzYXNsCiMjIyMjIENMSUVOVFMtU0FTTAolZmlsZXMgY2xp ZW50cy1zYXNsCiVfYmluZGlyLyoKJV9tYW4xZGlyLyoKJWVuZGlmICMgd2l0aCBzYXNsCgolaWZf d2l0aCBrcmIKIyMjIyMgQ0xJRU5UUy1LRVJCRVJPUwolZmlsZXMgY2xpZW50cy1rcmIKJV9iaW5k aXIvKgolX21hbjFkaXIvKgolZW5kaWYgIyB3aXRoIGtyYgoKIyMjIyMgR1VJREUKJWZpbGVzIGd1 aWRlCiVkaXIgJV9kb2NkaXIvJW5hbWUtJXZlcnNpb24KJV9kb2NkaXIvJW5hbWUtJXZlcnNpb24v Z3VpZGUKCiVjaGFuZ2Vsb2cKKiBUaHUgSmFuIDA5IDIwMDMgU2VyZ2UgQS4gVm9sa292IDx2c2Vy Z2VAYWx0bGludXgucnk+IDIuMS4xMi1hbHQxCi0gVXBkYXRlIHRvIG5ldyByZWxlYXNlIG9wZW5s ZGFwLTIuMS4xMgotIFJlYnVpbGQgYWdhaW5zdCBsaWJzYXNsMi0yLjEuMTAtYWx0MS4yCgoqIFR1 ZSBKYW4gMDcgMjAwMyBTZXJnZSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5yeT4gMi4xLjEx LWFsdDIKLSBFbmFibGUgU0FTTDIgc3VwcG9ydAotIEFkZCBwYXRjaCBmb3IgY29uZmlndXJlIHNh c2wyIGFsdC1zcGVjaWZpYyBwYXRjaCAoJWluY2x1ZGVkaXIvc2FzbDIvKikKLSBBZGQgc2NyaXB0 IGJ5IERtaXRyeSBMZXZpbiBmaW5kIGFuZCByZXBsYWNlIGZvciBzdXBwb3J0IGxpYnNhc2wyCiAg LSBpbiBzb3VyY2UgZmlsZXMgZm9yICIjaW5jbHVkZSA8c2FzbC9zYXNsLmg+IiAtPiAiI2luY2x1 ZGUgPHNhc2wyL3Nhc2wuaD4iCiAgLSBpbiBzb3VyY2UgZmlsZXMgZm9yICIjaWZkZWYgSEFWRV9T QVNMX1NBU0xfSCIgLT4gIiNpZmRlZiBIQVZFX1NBU0wyX1NBU0xfSCIKCiogU2F0IEphbiAwNCAy MDAzIFNlcmdlIEEuIFZvbGtvdiA8dnNlcmdlQGFsdGxpbnV4LnJ1PiAyLjEuMTEtYWx0MQotIFVw ZGF0ZSB0byBuZXcgdmVyc2lvbiAyLjEuMTEKLSBVcGRhdGUgT3BlbkxEQVAgQWRtaW5pc3RyYXRp b24gR3VpZGUgZm9yIDIuMSBidXQgbm90IGdhbmFyYXRlIEhUTUwgZmlsZXMKLSBVcGRhdGUgQnVp bGRSZXEKCiogRnJpIEphbiAwMyAyMDAzIFNlcmdlIEEuIFZvbGtvdiA8dnNlcmdlQGFsdGxpbnV4 LnJ1PiAyLjEuMTAtYWx0MQotIFVwZGF0ZSB0byBuZXcgdmVyc2lvbiAyLjEuMTAKLSBBZGQgZGVi dWcgaW5mbyB0byBzdGFuZGFydCBidWlsZAotIFNwZWMgY2xlYW51cAogIC0gQ3JlYXRlIHZlcmlh YmxlcyBmb3IgY29uZmlndXJlIHNjcmlwdCBDT01NT05GTEFHUyBhbmQgTU9EVUxFU0ZMQUdTCiAg LSBBZGQgdmVyaWFibGVzIGtyYiBhbmQgc2FzbCBmb3IgbWFrZSBzYW1lIHBhY2thZ2VzIChzZWUg ZG9jIGFib3V0ICUlaWZfd2l0aCkKLSBSZW1vdmUgZnJvbSBidWlsZCB0d28gYmFja2VuZHMsIGJl Y29zZSBub3QgY29tcGlsZSBpbiBUT0RPIG5vdwogIC0gcGVybAogIC0gc3FsCgoqIFN1biBEZWMg MjIgMjAwMiBTZXJnZSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4gMi4xLjktYWx0Mgot IENyZWF0ZSBkaWZmZXJlbnQgcGFja2FnZXMgZm9yIFNBU0wgYW5kIEtlcmJlcm9zLCBidXQgU0FT TCBwYWNrYWdlIGluIHdvcmsuCi0gS2VyYmVyb3MgTk9UIFdvcmsuIE5lZWQgZG8gbGlrZSBpbiBw b3N0Zml4IHBhY2thZ2UuCgoqIFN1biBEZWMgMjIgMjAwMiBTZXJnZSBBLiBWb2xrb3YgPHZzZXJn ZUBhbHRsaW51eC5ydT4gMi4xLjktYWx0MQotIFVwZGF0ZSB0byB2ZXJzaW9uIDIuMS45Ci0gQWRk IEtlcmJlcm9zIDUgc3VwcG9ydCBidWlsZGluLgoKKiBUaHUgT2N0IDMxIDIwMDIgU2VyZ2UgQS4g Vm9sa292IDx2c2VyZ2VAYWx0bGludXgucnU+IDIuMS44LWFsdDEKLSBVcGRhdGUgZm9yIHZlcnNp b24gMi4xLjggCi0gQWRkIEJ1aWxkUmVxdWlyZXM6IGxpYnVuaXhPREJDLWRldmVsLXN0YXRpYwot IEFkZCBkcGVuZGVuc2lzZSBmb3IgYXV0b21ha2VfMS40IGFuZCBhdXRvY29uZl8yLjEzCi0gU3Bl YyBjbGVhbnVwCiAgLSByZW1vdmUgaW5zdGFsbCBvbGQgZmlsZXMgKHVkIHByb2dyYW1tKQotIFJl bW92ZSBTUUwtYmFja2VuZCBtb2R1bGUgbm90IGNvbXBpbGUgLS0gaW4gVE9ETwoKKiBUdWUgQXVn IDIgMjAwMiBTZXJnZSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4gMi4xLjMtYWx0MQot IEZpcnN0IHJlbGVhc2UgZm9yIHZlcnNpb24gMi4xLngKLSBDb3JyZWN0IHBlYyBmb3IgbWFuIHBh Z2VzCgoqIFR1ZSBKdWwgMDkgMjAwMiBTZXJnZSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5y dT4gMi4wLjI1LWFsdDMKLSBVcGRhdGUgZm9yIHVzZSB0ZXJtaW5mbyB3aXRoICJ1ZCIgcHJvZ3Jh bQogIC0gcGF0Y2ggZm9yIGNvbmZpZ3VyZSAobGlidGluZm8pCgoqIFdlZCBKdW4gMjYgMjAwMiBT ZXJnZSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4gMi4wLjI1LWFsdDIKLSBBZGQgc2No ZW1hcyBmcm9tIE1ESyAlbmFtZSBwYWNrYWdlCiAgLSBjcm9uLnNjaGVtYQogIC0gbmV0c2NhcGUt cHJvZmlsZS5zY2hlbWEKICAtIHFtYWlsQ29udHJvbC5zY2hlbWEKICAtIHRydXN0LnNjaGVtYQog IC0gdHVyYm8uc2NoZW1hCiAgLSBkbnMuc2NoZW1hCi0gVXBkYXRlIHNjaGVtYXMKICAtIHNhbWJh LnNjaGVtYQogIC0ga2VyYmVyb3NvYmplY3Quc2NoZW1hCi0gc2NoZW1hIHJmYzgyMi1NYWlsTWVt YmVyLnNjaGVtYSBjb21lIGJhY2sgdG8gcGFja2FnZSBidXQgYnkgZGVmYXVsdCBpcyBvZmYKLSBV cGRhdGUgZ3VpZGU6IGluIHJvb3QgZ3VpZGUgaW4gaHRtbCBieSBjaGFwdGVyIGFuZCBhcmNoaXZl IHdpdGggc2RmIGZpbGVzCi0gVXBkYXRlIHBhdGNoIGZvciBzbGFwZC5jb25mCi0gRml4IGJ1Z3Mg Iz8/PyBhY2NvcmRpbmcgYnVncy5hbHRsaW51eC5ydQoKKiBUaHUgSnVuIDEzIDIwMDIgU2VyZ2Ug QS4gVm9sa292IDx2c2VyZ2VAYWx0bGludXgucnU+IDIuMC4yNS1hbHQxCi0gVXBkYXRlIHRvIHJl bGVhc2UgMi4wLjI1Ci0gQWRkIGNvdXJpZXIuc2NoZW1hIGZyb20gY291cmllci1pbWFwCi0gQ29y cmVjdCBSZXF1aXJlcyBmb3IgbGlidW5peE9EQkMtZGV2ZWwgbmVlZCBmb3IgYmFjay1zcWwKCiog V2VkIEFwciAxNyAyMDAyIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdC1saW51eC5vcmc+IDIuMC4y My1hbHQ0Ci0gRHJvcHBlZCB1c2VsZXNzIGNvbXBhdGliaWxpdHkgc3ltbGlua3MuCgoqIFR1ZSBB cHIgMTYgMjAwMiBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHQtbGludXgub3JnPiAyLjAuMjMtYWx0 MwotIFJlbG9jYXRlZCBsaWJ7bGRhcCxsYmVyfS5zby4qIGZyb20gJV9saWJkaXIvIHRvIGxpYi8K ICAoY29tcGF0aWJpbGl0eSBzeW1saW5rcyBjcmVhdGVkKS4KLSBvcGVubGRhcDogcmVxdWlyZXMg TVRBLgotIEJ1aWxkIHdpdGggbGliZGI0LCB1cGRhdGVkIGJ1aWxkcmVxdWlyZXMuCgoqIFRodSBN YXIgMjEgMjAwMiBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHQtbGludXgub3JnPiAyLjAuMjMtYWx0 MgotIGxpYmxkYXA6IENvbmZsaWN0czogJW5hbWUgPCAlJXZlcnNpb24tJSVyZWxlYXNlLgotIG9w ZW5sZGFwOiBQcmVSZXE6IGxpYmxkYXAgPSAlJXZlcnNpb24tJSVyZWxlYXNlLgoKKiBUdWUgRmVi IDE5IDIwMDIgU2VyZ2UgQS4gVm9sa292IDx2c2VyZ2VAYWx0bGludXgucnU+IDIuMC4yMy1hbHQx Ci0gVXBkYXRlIHRvIDIuMC4yMyBzdGFibGUgcmVsZWFzZQotIFVwZGF0ZSBvcGVubGRhcC1ndWlk ZSBsYXN0IENWUyB2ZXJzaW9uCgoqIFdlZCBKYW4gMTYgMjAwMiBTZXJnZSBBLiBWb2xrb3YgPHZz ZXJnZUBhbHRsaW51eC5ydT4gMi4wLjIxLWFsdDEKLSBVcGRhdGUgdG8gMi4wLjIxIHN0YWJsZSBy ZWxlYXNlCgoqIFR1ZSBKYW4gMTUgMjAwMiBTZXJnZSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51 eC5ydT4gMi4wLjIwLWFsdDEKLSBVcGRhdGUgdG8gMi4wLjIwCgoqIE1vbiBKYW4gMTQgMjAwMiBT ZXJnYSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4gMi4wLjE5LWFsdDFoZWFkCi0gQ29t cGlsZSB0aGUgQ1ZTIHJlcG9zaXRvcnkKLSBBZGQgY29uZmlndXJlIG9wdGlvbnM6CiAgLS13aXRo LXBob25ldGljOyAtLWVuYWJsZS1hY2k7IC0tZW5hYmxlLWR5bmFtaWM7IC0tZW5hYmxlLXNsdXJw ZAoKKiBGcmkgRGVjIDIxIDIwMDEgU2VyZ2UgQS4gVm9sa292IDx2c2VyZ2VAYWx0bGludXgucnU+ IDIuMC4xOS1hbHQxCi0gVXBkYXRlIHRvIDIuMC4xOSByZWxlYXNlCi0gQ2xlYW51cCBzcGVjCgoq IFR1ZSBEZWMgMTQgMjAwMSBTZXJnZSBBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4gMi4w LjE4LWFsdDIKLSBSZW1vdmVkICJyZWxvYWQiIGZ1bmN0aW9uIGluIGluaXRzY3JpcHQKLSBVcGRh dGUgc2xhcGQuY29uZgotIGFkZGVkIHNjcmlwdCBmb3IgY29ycmV0aW9uIHN5c2xvZy5jb25mCgoq IEZyaSBPY3QgMjYgMjAwMSBTZXJnZQlBLiBWb2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4gMi4w LjE4LWFsdDEKLSBVcGRhdGUgdG8gMi4wLjE4CgoqIFdlZCBPY3QgMjUgMjAwMSBTZXJnZSBBLiBW b2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4gMi4wLjE3LWFsdDMKLSBDbGVhbiB1cCBzcGVjCi0g Q29ycmVjZWQgc2xhcGQuY29uZiBwYXRjaAoKKiBNb24gT2N0IDIyIDIwMDEgU2VyZ2UgQS4gVm9s a292IDx2c2VyZ2VAYWx0bGludXgscnU+IDIuMC4xNy1hbHQyCi0gRml4ZWQgY29tcGlsZSBwcm9i bGVtIHBhdGNoIGJ5IFBldGVyIE1hcnNoYWxsCgoqIFR1ZSBPY3QgMTYgMjAwMSBTZXJnZSBBLiBW b2xrb3YgPHZzZXJnZUBhbHRsaW51eC5ydT4gMi4wLjE3LWFsdDEKLSBGaXhlZCAiZXhwb3J0IGFj X2N2X2Z1bmNfZ2V0YWRkcmluZm89bm8iIGhhY2suCi0gVXBkYXRlZDoKICAtIHRvIHJlbGVhc2Ug Mi4wLjE3CiAgLSBPcGVuTERBUCBHdWlkZSBsYXN0IGN2cwoKKiBUaHUgU2VwIDI3IDIwMDEgSWdv ciBNdXJhdG92IDxtaWdvckBhbHRsaW51eC5ydT4gMi4wLjE1LWFsdDIKLSBTZXQgVExTIHRvIE9w ZW5TU0wKCiogRnJpIFNlcCAyMSAyMDAxIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4LnJ1 PiAyLjAuMTUtYWx0MgotIFNwZWNmaWxlIGNsZWFudXAuCi0gQnVpbHQgd2l0aCBkYjMtMy4zLjEx LgoKKiBGcmkgU2VwIDIxIDIwMDEgVm9sa292IEEuIFNlcmdlIDx2c2VyZ2VAaG90Ym94LnJ1PiAy LjAuMTUtYWx0MQotIFVwZGF0ZSB0byAyLjAuMTUgcmVsZWFzZS4KCiogVHVlIFNlcCAxMCAyMDAx IFZvbGtvdiBBLlNlcmdlIDx2c2VyZ2VAaG90Ym94LnJ1PiAyLjAuMTQtYWx0MQotIE9wZW5MREFQ IDIuMC4xNAoKKiBNb24gU2VwIDEwIDIwMDEgVm9sa292IEEuU2VyZ2UgPHZzZXJnZUBob3Rib3gu cnU+IDIuMC4xMy1hbHQxCi0gT3BlbkxEQVAgMi4wLjEzCgoqIEZyaSBTZXAgNyAyMDAxIFZvbGtv diBBLiBTZXJnZSA8dnNlcmdlQGhvdGJveC5ydT4gMi4wLjEyLWFsdDIKLSBSZW1vdmUgZnJvbSB0 aGlzIHBhY2thZ2UgTWlncmF0aW9uIFRvb2xzIHBhY2thZ2UuCgoqIE1vbiBTZXAgMyAyMDAxIFZv bGtvdiBBLiBTZXJnZSA8dnNlcmdlQGhvdGJveC5ydT4gMi4wLjEyLWFsdDEKLSBOZXcgcmVsZWFz ZSAyLjAuMTIuIEFkZCBwYXRjaCBmb3Igbm90IHVzZSBnZXRhZGRyaW5mbyBmdW5jdGlvbiBpbiBz b3VyY2VzLCBiZWNvc2UgaXQncyBjb3JlIGR1bXBlZCBhbGwgc29mdC4KICBSZW1vdmUgUmVkLUhh dCBwYXRjaCBmb3IgMi4wLjMgdmVyc2lvbiwgaXQncyBjb25mbGljdCB3aXRoIG5ldyBzb3VyY2Vz LgoKKiBNb24gQXVnIDYgMjAwMSBWb2xrb3YgQS4gU2VyZ2UgPHZzZXJnZUBtZW5hdGVwc3BiLm1z ay5ydT4gMi4wLjExLWFsdDEKLSBDbGVhbiBzb21lIGVycm9ycyBpbiBzcGVjLiBSZW1vdmUgdGhl IG1ham9yIHZhcmlhYmxlIGl0J3Mgbm90IG5lZWQgaW4gU3lzaXBodXMuCgoqIEZyaSBBdWcgMyAy MDAxIFZvbGtvdiBBLiBTZXJnZSA8dnNlcmdlQG1lbmF0ZXBzcGIubXNrLnJ1PiAyLjAuMTEtYWx0 MQotIERldmlkZSA0IHBhY2tlZ2VzIHRvIDcgcGFja2VnZXMuIEFkZCBHdWlkZSBhcyBwYWNrYWdl LiBNYWRlIGxpYmxkYXAyLXN0YXRpYyBhbmQgZGV2ZWwuCgoqIFdlZCBKdWwgMyAyMDAxIFZvbGtv diBBLiBTZXJnZSA8dnNlcmdlQG1lbmF0ZXBzcGIubXNrLnJ1PiAyLjAuMTEtYWx0MQotIE9wZW5M REFQIDIuMC4xMSBhbmQgTWlncmF0aW9uIHRvb2wgMzguIEl0J3MgbXkgZmlyc3QgcmVkYXRpb24u IEkgbG9vayB0aGUgc3BlYyBmaWxlIGZyb20gTWFuZHJha2UgTGludXguCgoqIFRodSBNYXkgMyAy MDAxIFJpZGVyIDxyaWRlckBhbHRsaW51eC5ydT4gMi4wLjctaXBsNAotIE1pZ3JhdGlvbiB0b29s IDM3CgoqIFR1ZSBBcHIgMTcgMjAwMSBBbGV4YW5kZXIgQm9rb3ZveSA8YWJAYXZpbGluay5uZXQ+ IDIuMC43LWlwbDMKLSBCcm9rZW4gbGRhcC5pbml0IHNjcmlwdCBmaXhlZAoKKiBUaHUgTWFyIDE1 IDIwMDEgRG1pdHJ5IFYuIExldmluIDxsZHZAZmFuZHJhLm9yZz4gMi4wLjctaXBsMgotIG1pc3Np bmcgbGluayB0byBsaWJyZXNvbHYuc28gYWRkZWQKCiogU3VuIEphbiAyOCAyMDAxIERtaXRyeSBW LiBMZXZpbiA8bGR2QGZhbmRyYS5vcmc+IDIuMC43LWlwbDEKLSBSRSBhZGFwdGlvbnMuCgoqIEZy aSBEZWMgMjkgMjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gY2hhbmdl IGF1dG9tb3VudCBvYmplY3QgT0lEIGZyb20gMS4zLjYuMS4xLjEuMi45IHRvIDEuMy42LjEuMS4x LjIuMTMsCiAgcGVyIG1haWwgZnJvbSB0aGUgbGRhcC1uaXMgbWFpbGluZyBsaXN0CgoqIFR1ZSBE ZWMgIDUgMjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gZm9yY2UgLWZQ SUMgc28gdGhhdCBzaGFyZWQgbGlicmFyaWVzIGRvbid0IGZhbGwgb3ZlcgoKKiBNb24gRGVjICA0 IDIwMDAgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPgotIGFkZCBOb3JiZXJ0IEts YXNlbidzIHBhdGNoICh2aWEgRGVsKSB0byBmaXggc2VhcmNoZXMgdXNpbmcgbGRhcHMgVVJMcwog IChPcGVuTERBUCBJVFMgIzg4OSkKLSBhZGQgIi1oIGxkYXBzOi8vLyIgdG8gc2VydmVyIGluaXQg d2hlbiBUTFMgaXMgZW5hYmxlZCwgaW4gb3JkZXIgdG8gc3VwcG9ydAogIGxkYXBzIGluIGFkZGl0 aW9uIHRvIHRoZSByZWd1bGFyIFNUQVJUVExTIChzdWdnZXN0ZWQgYnkgRGVsKQoKKiBNb24gTm92 IDI3IDIwMDAgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPgotIGNvcnJlY3QgbWlz bWF0Y2hlZC1kbi1jbiBidWcgaW4gbWlncmF0ZV9hdXRvbW91bnQucGwKCiogTW9uIE5vdiAyMCAy MDAwIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSB1cGRhdGUgdG8gdGhlIGNv cnJlY3QgT0lEcyBmb3IgYXV0b21vdW50IGFuZCBhdXRvbW91bnRJbmZvcm1hdGlvbgotIGFkZCBu b3RlcyBvbiB1cGdyYWRpbmcKCiogVHVlIE5vdiAgNyAyMDAwIE5hbGluIERhaHlhYmhhaSA8bmFs aW5AcmVkaGF0LmNvbT4KLSB1cGRhdGUgdG8gMi4wLjcKLSBkcm9wIGNoZGlyIHBhdGNoICh3ZW50 IG1haW5zdHJlYW0pCgoqIFRodSBOb3YgIDIgMjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJl ZGhhdC5jb20+Ci0gY2hhbmdlIGF1dG9tb3VudCBvYmplY3QgY2xhc3NlcyBmcm9tIGF1eGlsaWFy eSB0byBzdHJ1Y3R1cmFsCgoqIFR1ZSBPY3QgMzEgMjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGlu QHJlZGhhdC5jb20+Ci0gdXBkYXRlIHRvIE1pZ3JhdGlvbiBUb29scyAyNwotIGNoYW5nZSB0aGUg c2Vuc2Ugb2YgdGhlIGxhc3Qgc2ltcGxlIHBhdGNoCgoqIFdlZCBPY3QgMjUgMjAwMCBOYWxpbiBE YWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gcmVvcmdhbml6ZSB0aGUgcGF0Y2ggbGlzdCB0 byBzZXBhcmF0ZSBNaWdyYXRpb25Ub29scyBhbmQgT3BlbkxEQVAgcGF0Y2hlcwotIHN3aXRjaCB0 byBMdWtlIEhvd2FyZCdzIHJmYzgyMk1haWxNZW1iZXIgc2NoZW1hIGluc3RlYWQgb2YgdGhlIGFs aWFzZXMuc2NoZW1hCi0gY29uZmlndXJlIHNsYXBkIHRvIHJ1biBhcyB0aGUgbm9uLXJvb3QgdXNl ciAibGRhcCIgKCMxOTM3MCkKLSBjaGRpcigpIGJlZm9yZSBjaHJvb3QoKSAod2UgZG9uJ3QgdXNl IGNocm9vdCwgdGhvdWdoKSAoIzE5MzY5KQotIGRpc2FibGUgc2F2aW5nIG9mIHRoZSBwaWQgZmls ZSBiZWNhdXNlIHRoZSBwYXJlbnQgdGhyZWFkIHdoaWNoIHNhdmVzIGl0IGFuZAogIHRoZSBjaGls ZCB0aHJlYWQgd2hpY2ggbGlzdGVucyBoYXZlIGRpZmZlcmVudCBwaWRzCgoqIFdlZCBPY3QgMTEg MjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gYWRkIG1pc3NpbmcgcmVx dWlyZWQgYXR0cmlidXRlcyB0byBjb252ZXJzaW9uIHNjcmlwdHMgdG8gY29tcGx5IHdpdGggc2No ZW1hCi0gYWRkIHNjaGVtYSBmb3IgbWFpbCBhbGlhc2VzLCBhdXRvZnMsIGFuZCBrZXJiZXJvc1Nl Y3VyaXR5T2JqZWN0IHJvb3RlZCBpbgogIG91ciBvd24gT0lEIHRyZWUgdG8gZGVmaW5lIGF0dHJp YnV0ZXMgYW5kIGNsYXNzZXMgbWlncmF0aW9uIHNjcmlwdHMgZXhwZWN0Ci0gdHdlYWsgYXV0b21v dW50ZXIgbWlncmF0aW9uIHNjcmlwdAoKKiBNb24gT2N0ICA5IDIwMDAgTmFsaW4gRGFoeWFiaGFp IDxuYWxpbkByZWRoYXQuY29tPgotIHRyeSBhZGRpbmcgdGhlIHN1ZmZpeCBmaXJzdCB3aGVuIGRv aW5nIG9ubGluZSBtaWdyYXRpb25zCi0gZm9yY2UgbGRhcGFkZCB0byB1c2Ugc2ltcGxlIGF1dGhl bnRpY2F0aW9uIGluIG1pZ3JhdGlvbiBzY3JpcHRzCi0gYWRkIGluZGV4aW5nIG9mIGEgZmV3IGF0 dHJpYnV0ZXMgdG8gdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbgotIGFkZCBjb21tZW50ZWQtb3V0 IHNlY3Rpb24gb24gdXNpbmcgVExTIHRvIGRlZmF1bHQgY29uZmlndXJhdGlvbgoKKiBUaHUgT2N0 ICA1IDIwMDAgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPgotIHVwZGF0ZSB0byAy LjAuNgotIGFkZCBidWlsZHByZXJlcSBvbiBjeXJ1cy1zYXNsLWRldmVsLCBrcmI1LWRldmVsLCBv cGVuc3NsLWRldmVsCi0gdGFrZSB0aGUgLXMgZmxhZyBvZmYgb2Ygc2xhcGFkZCBpbnZvY2F0aW9u cyBpbiBtaWdyYXRpb24gdG9vbHMKLSBhZGQgdGhlIGNvc2luZS5zY2hlbWEgdG8gdGhlIGRlZmF1 bHQgc2VydmVyIGNvbmZpZywgbmVlZGVkIGJ5IGluZXRvcmdwZXJzb24KCiogV2VkIE9jdCAgNCAy MDAwIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSBhZGQgdGhlIG5pcy5zY2hl bWEgYW5kIGluZXRvcmdwZXJzb24uc2NoZW1hIHRvIHRoZSBkZWZhdWx0IHNlcnZlciBjb25maWcK LSBtYWtlIGxkYXBhZGQgYSBoYXJkIGxpbmsgdG8gbGRhcG1vZGlmeSBiZWNhdXNlIHRoZXkncmUg aWRlbnRpY2FsIGJpbmFyaWVzCgoqIEZyaSBTZXAgMjIgMjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5h bGluQHJlZGhhdC5jb20+Ci0gdXBkYXRlIHRvIDIuMC40CgoqIEZyaSBTZXAgMTUgMjAwMCBOYWxp biBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gcmVtb3ZlIHByZXJlcSBvbiAvZXRjL2lu aXQuZCAoIzE3NTMxKQotIHVwZGF0ZSB0byAyLjAuMwotIGFkZCBzYXVjZXIgdG8gdGhlIGluY2x1 ZGVkIGNsaWVudHMKCiogV2VkIFNlcCAgNiAyMDAwIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVk aGF0LmNvbT4KLSB1cGRhdGUgdG8gMi4wLjEKCiogRnJpIFNlcCAgMSAyMDAwIE5hbGluIERhaHlh YmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSB1cGRhdGUgdG8gMi4wLjAKLSBwYXRjaCB0byBidWls ZCBhZ2FpbnN0IE1JVCBLZXJiZXJvcyAxLjEgYW5kIGxhdGVyIGluc3RlYWQgb2YgMS4wLngKCiog VHVlIEF1ZyAyMiAyMDAwIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSByZW1v dmUgdGhhdCBwZXNreSBkZWZhdWx0IHBhc3N3b3JkCi0gY2hhbmdlICJDb3B5cmlnaHQ6IiB0byAi TGljZW5zZToiCgoqIFN1biBBdWcgMTMgMjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhh dC5jb20+Ci0gYWRqdXN0IHBlcm1pc3Npb25zIGluIGZpbGVzIGxpc3RzCi0gbW92ZSBsaWJleGVj ZGlyIGZyb20gJXByZWZpeC9zYmluIHRvICVfc2JpbmRpcgoKKiBGcmkgQXVnIDExIDIwMDAgTmFs aW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPgotIGFkZCBtaWdyYXRlX2F1dG9tb3VudC5w bCB0byB0aGUgbWlncmF0aW9uIHNjcmlwdHMgc2V0CgoqIFR1ZSBBdWcgIDggMjAwMCBOYWxpbiBE YWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gYnVpbGQgYSBzZW1pc3RhdGljIHNsdXJwZCB3 aXRoIHRocmVhZHMsIGV2ZXJ5dGhpbmcgZWxzZSB3aXRob3V0Ci0gZGlzYWJsZSByZXZlcnNlIGxv b2t1cHMsIHBlciBlbWFpbCBvbiBPcGVuTERBUCBtYWlsaW5nIGxpc3RzCi0gbWFrZSBzdXJlIHRo ZSBleGVjdXRlIGJpdHMgYXJlIHNldCBvbiB0aGUgc2hhcmVkIGxpYnJhcmllcwoKKiBNb24gSnVs IDMxIDIwMDAgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPgotIGNoYW5nZSBsb2dn aW5nIGZhY2lsaXR5IHVzZWQgZnJvbSBsb2NhbDQgdG8gZGFlbW9uICgjMTEwNDcpCgoqIFRodSBK dWwgMjcgMjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gc3BsaXQgb2Zm IGNsaWVudHMgYW5kIHNlcnZlcnMgdG8gc2hyaW5rIGRvd24gdGhlIHBhY2thZ2UgYW5kIHJlbW92 ZSB0aGUKICBiYXNlIHBhY2thZ2UncyBkZXBlbmRlbmN5IG9uIFBlcmwKLSBtYWtlIGNlcnRhaW4g dGhhdCB0aGUgYmluYXJpZXMgaGF2ZSBzYW5lIHBlcm1pc3Npb25zCgoqIE1vbiBKdWwgMTcgMjAw MCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gbW92ZSB0aGUgaW5pdCBzY3Jp cHQgYmFjawoKKiBUaHUgSnVsIDEzIDIwMDAgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQu Y29tPgotIHR3ZWFrIHRoZSBpbml0IHNjcmlwdCB0byBvbmx5IHNvdXJjZSAvZXRjL3N5c2NvbmZp Zy9uZXR3b3JrIGlmIGl0J3MgZm91bmQKCiogV2VkIEp1bCAxMiAyMDAwIFByb3NwZWN0b3IgPGJ1 Z3ppbGxhQHJlZGhhdC5jb20+Ci0gYXV0b21hdGljIHJlYnVpbGQKCiogTW9uIEp1bCAxMCAyMDAw IE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSBzd2l0Y2ggdG8gZ2RibTsgSSdt IGdldHRpbmcgb2ZmIHRoZSBkYiBtZXJyeS1nby1yb3VuZAotIHR3ZWFrIHRoZSBpbml0IHNjcmlw dCBzb21lIG1vcmUKLSBhZGQgaW5zdGRpciB0byBASU5DIGluIG1pZ3JhdGlvbiBzY3JpcHRzCgoq IFRodSBKdWwgIDYgMjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gdHdl YWsgaW5pdCBzY3JpcHQgdG8gcmV0dXJuIGVycm9yIGNvZGVzIHByb3Blcmx5Ci0gY2hhbmdlIGlu aXRzY3JpcHRzIGRlcGVuZGVuY3kgdG8gb25lIG9uIC9ldGMvaW5pdC5kCgoqIFR1ZSBKdWwgIDQg MjAwMCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gcHJlcmVxIGluaXRzY3Jp cHRzCi0gbWFrZSBtaWdyYXRpb24gc2NyaXB0cyB1c2UgbWt0ZW1wCgoqIFR1ZSBKdW4gMjcgMjAw MCBOYWxpbiBEYWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gZG8gY29uZHJlc3RhcnQgaW4g cG9zdCBhbmQgc3RvcCBpbiBwcmV1bgotIG1vdmUgaW5pdCBzY3JpcHQgdG8gL2V0Yy9pbml0LmQK CiogRnJpIEp1biAxNiAyMDAwIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSB1 cGRhdGUgdG8gMS4yLjExCi0gYWRkIGNvbmRyZXN0YXJ0IGxvZ2ljIHRvIGluaXQgc2NyaXB0Ci0g bXVuZ2UgbWlncmF0aW9uIHNjcmlwdHMgc28gdGhhdCB5b3UgZG9uJ3QgaGF2ZSB0byBiZQogIC91 c3Ivc2hhcmUvb3BlbmxkYXAvbWlncmF0aW9uIHRvIHJ1biB0aGVtCi0gYWRkIGNvZGUgdG8gY3Jl YXRlIHBpZCBmaWxlcyBpbiAvdmFyL3J1bgoKKiBNb24gSnVuICA1IDIwMDAgTmFsaW4gRGFoeWFi aGFpIDxuYWxpbkByZWRoYXQuY29tPgotIEZIUyB0d2Vha3MKLSBmaXggZm9yIGNvbXBpbGluZyB3 aXRoIGxpYmRiMgoKKiBUaHUgTWF5ICA0IDIwMDAgQmlsbCBOb3R0aW5naGFtIDxub3R0aW5nQHJl ZGhhdC5jb20+Ci0gbWlub3IgdHdlYWsgc28gaXQgYnVpbGRzIG9uIGlhNjQKCiogV2VkIE1heSAg MyAyMDAwIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSBtb3JlIG1pbmltYWxp c3RpYyBmaXggZm9yIGJ1ZyAjMTExMTEgYWZ0ZXIgY29uc3VsdGF0aW9uIHdpdGggT3BlbkxEQVAg dGVhbQotIGJhY2twb3J0IHJlcGxhY2VtZW50IGZvciB0aGUgbGRhcHVzZXIgcGF0Y2gKCiogVHVl IE1heSAgMiAyMDAwIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSBmaXggc2Vn ZmF1bHRzIGZyb20gcXVlcmllcyB3aXRoIGNvbW1hcyBpbiB0aGVtIGluIGluLnhmaW5nZXJkIChi dWcgIzExMTExKQoKKiBUdWUgQXByIDI1IDIwMDAgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRo YXQuY29tPgotIHVwZGF0ZSB0byAxLjIuMTAKLSBhZGQgcmV2YW1wZWQgdmVyc2lvbiBvZiBwYXRj aCBmcm9tIGtvc0BiYXN0YXJkLm5ldCB0byBhbGxvdyBleGVjdXRpb24gYXMKICBhbnkgbm9uLXJv b3QgdXNlcgotIHJlbW92ZSB0ZXN0IHN1aXRlIGZyb20gJWJ1aWxkIGJlY2F1c2Ugb2Ygd2VpcmRu ZXNzIGluIHRoZSBidWlsZCBzeXN0ZW0KCiogV2VkIEFwciAxMiAyMDAwIE5hbGluIERhaHlhYmhh aSA8bmFsaW5AcmVkaGF0LmNvbT4KLSBtb3ZlIHRoZSBkZWZhdWx0cyBmb3IgZGF0YWJhc2VzIGFu ZCB3aGF0bm90IHRvIC92YXIvbGliL2xkYXAgKGJ1ZyAjMTA3MTQpCi0gZml4IHNvbWUgcG9zc2li bGUgc3RyaW5nLWhhbmRsaW5nIHByb2JsZW1zCgoqIE1vbiBGZWIgMTQgMjAwMCBCaWxsIE5vdHRp bmdoYW0gPG5vdHRpbmdAcmVkaGF0LmNvbT4KLSBzdGFydCBlYXJsaWVyLCBzdG9wIGxhdGVyLgoK KiBUaHUgRmViICAzIDIwMDAgTmFsaW4gRGFoeWFiaGFpIDxuYWxpbkByZWRoYXQuY29tPgotIGF1 dG8gcmVidWlsZCBpbiBuZXcgZW52aXJvbm1lbnQgKHJlbGVhc2UgNCkKCiogVHVlIEZlYiAgMSAy MDAwIE5hbGluIERhaHlhYmhhaSA8bmFsaW5AcmVkaGF0LmNvbT4KLSBhZGQgLURfUkVFTlRSQU5U IHRvIG1ha2UgdGhyZWFkZWQgc3R1ZmYgbW9yZSBzdGFibGUsIGV2ZW4gdGhvdWdoIGl0IGxvb2tz CiAgbGlrZSB0aGUgc291cmNlcyBkZWZpbmUgaXQsIHRvbwotIG1hcmsgKi5waCBmaWxlcyBpbiBt aWdyYXRpb24gdG9vbHMgYXMgY29uZmlnIGZpbGVzCgoqIEZyaSBKYW4gMjEgMjAwMCBOYWxpbiBE YWh5YWJoYWkgPG5hbGluQHJlZGhhdC5jb20+Ci0gdXBkYXRlIHRvIDEuMi45CgoqIE1vbiBTZXAg MTMgMTk5OSBCaWxsIE5vdHRpbmdoYW0gPG5vdHRpbmdAcmVkaGF0LmNvbT4KLSBzdHJpcCBmaWxl cwoKKiBTYXQgU2VwIDExIDE5OTkgQmlsbCBOb3R0aW5naGFtIDxub3R0aW5nQHJlZGhhdC5jb20+ Ci0gdXBkYXRlIHRvIDEuMi43Ci0gZml4IHNvbWUgYnVncyBmcm9tIGJ1Z3ppbGxhICgjNDg4NSwg IzQ4ODcsICM0ODg4LCAjNDk2NykKLSB0YWtlIGluY2x1ZGUgZmlsZXMgb3V0IG9mIGJhc2UgcGFj a2FnZQoKKiBGcmkgQXVnIDI3IDE5OTkgSmVmZiBKb2huc29uIDxqYmpAcmVkaGF0LmNvbT4KLSBt aXNzaW5nIDs7IGluIGluaXQgc2NyaXB0IHJlbG9hZCkgKCM0NzM0KS4KCiogVHVlIEF1ZyAyNCAx OTk5IENyaXN0aWFuIEdhZnRvbiA8Z2FmdG9uQHJlZGhhdC5jb20+Ci0gbW92ZSBzdHVmZiBmcm9t IC91c3IvbGliZXhlYyB0byAvdXNyL3NiaW4KLSByZWxvY2F0ZSBjb25maWcgZGlycyB0byAvZXRj L29wZW5sZGFwCgoqIE1vbiBBdWcgMTYgMTk5OSBCaWxsIE5vdHRpbmdoYW0gPG5vdHRpbmdAcmVk aGF0LmNvbT4KLSBpbml0c2NyaXB0IG11bmdpbmcKCiogV2VkIEF1ZyAxMSAxOTk5IENyaXN0aWFu IEdhZnRvbiA8Z2FmdG9uQHJlZGhhdC5jb20+Ci0gYWRkIHRoZSBtaWdyYXRpb24gdG9vbHMgdG8g dGhlIHBhY2thZ2UKCiogRnJpIEF1ZyAwNiAxOTk5IENyaXN0aWFuIEdhZnRvbiA8Z2FmdG9uQHJl ZGhhdC5jb20+Ci0gdXBncmFkZSB0byAxLjIuNgotIGFkZCByYy5kIHNjcmlwdAotIHNwbGl0IC1k ZXZlbCBwYWNrYWdlCgoqIFN1biBGZWIgMDcgMTk5OSBQcmVzdG9uIEJyb3duIDxwYnJvd25AcmVk aGF0LmNvbT4KLSB1cGdyYWRlIHRvIGxhdGVzdCBzdGFibGUgKDEuMS40KSwgaXQgbm93IHVzZXMg Y29uZmlndXJlIG1hY3JvLgoKKiBGcmkgSmFuIDE1IDE5OTkgQmlsbCBOb3R0aW5naGFtIDxub3R0 aW5nQHJlZGhhdC5jb20+Ci0gYnVpbGQgb24gYXJtLCBnbGliYzIuMQoKKiBXZWQgT2N0IDI4IDE5 OTggUHJlc3RvbiBCcm93biA8cGJyb3duQHJlZGhhdC5jb20+Ci0gaW5pdGlhbCBjdXQuCi0gcGF0 Y2hlcyBmb3Igc2lnbmFsIGhhbmRsaW5nIG9uIHRoZSBhbHBoYQo= --Multipart_Fri__10_Jan_2003_18:55:32_+0300_083691e8--