From august.guang@gmail.com Mon Mar 05 18:01:52 2018 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1estUl-000nYu-10>; Mon, 05 Mar 2018 18:01:51 +0100 Received: from mail-oi0-f51.google.com ([209.85.218.51]) by relay1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:AES128-GCM-SHA256:128) (envelope-from ) id <1estUk-003XzA-LS>; Mon, 05 Mar 2018 18:01:50 +0100 Received: by mail-oi0-f51.google.com with SMTP id f186so12570714oig.4 for ; Mon, 05 Mar 2018 09:01:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=vmZTeaP5PuwSpljRvs/QwizlTFch2RL+XyUP4hPs5Nw=; b=hpxiZJcdZuhRRslTrNartlGgmgytfM6hoFA5oGcs8yq2zGnQNVWNoA+QJuNThCFzps PSt8hVd4PvDojdE/yuKvf51rx9AwSlymEJH3DBgKVNrm0OxkaRDRXjaduVTF3YoyajLd PuOmdPaF71fJKc+h2G3S8/dDcXeDUCxH8BeqNeIOPEMObhTPRhs2FINy7xfszSFHaYx8 zrAppbeQw9IwakY4NafVy3ZTsgonf4s7cA5UYTXDUGiwYmfue+3bHZuQeExKE7AQsbDz e1A4rLBQZKYqJQ6X36xPkKSubS8OpzTY/NV6IwdD3VCOozdkacaaAl1lUnPLXarudMGz l5kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=vmZTeaP5PuwSpljRvs/QwizlTFch2RL+XyUP4hPs5Nw=; b=EUGf/wtURt2SlYlxQGG7uFOLeIbSAgmbrgs4/rgf3aEDfFY8vMh0uBwrDCBhBkr2XD 9GTjG4SRzIv0Hlzh2MpPI/jqL1M7HdgQOTQvh3eFiUkWlfOOfKl861hKfEgldk5H2h+C LLAE2zpMKlVxoeLJ9g5xzHTvq73RB/p/nD8Nn9uy+uGFMvD3x88hyQ8sE0DbjrlReCeH MwXHK+mLmcG7pMoDWvmPS6aMN4zIudIb6GQ5MzTfS/vjzMjavYPYZK/qxD5WJ6RFfPH8 gYtWVHrqXx3w0hIlueQ5X3FcJKI0a8nrIuLYI66UCNN0IdPRj5PB7A0Y0xKuOCTIRuS0 41Yg== X-Gm-Message-State: AElRT7E2+dvUw87O1QDhCpa0XMI/ULUyev76Ditgdr9hk+0DXCj3rHGy sF42CXO9hjeIesk6jvNHzqyHwsEnVq4qxobvoio= X-Google-Smtp-Source: AG47ELun4DtO7+TKqGn0nGv9x9W+T8yLJeaWHsoENEQqpri/zptA+gclvFuBvmQaFNfvPtBuXfjVG3gOmQNTl1BdTnc= X-Received: by 10.202.170.66 with SMTP id t63mr9346662oie.51.1520269307741; Mon, 05 Mar 2018 09:01:47 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.17.147 with HTTP; Mon, 5 Mar 2018 09:01:27 -0800 (PST) In-Reply-To: <6369393.BiE2NBDbOz@celegans.imp.fu-berlin.de> References: <6369393.BiE2NBDbOz@celegans.imp.fu-berlin.de> From: August Guang Date: Mon, 5 Mar 2018 12:01:27 -0500 Message-ID: To: Hannes Hauswedell Content-Type: multipart/alternative; boundary="001a113cb98e0d0d3b0566ad487a" X-Originating-IP: 209.85.218.51 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1520269311-000005A1-FA88ECDA/0/0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.003234, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-0.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_PASS X-Spam-Checker-Version: SpamAssassin 3.4.1 on Palau.ZEDAT.FU-Berlin.DE X-Spam-Level: Cc: SeqAn Development Subject: Re: [Seqan-dev] placing seqan headers into R package X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.16 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2018 17:01:52 -0000 --001a113cb98e0d0d3b0566ad487a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks, I have included the license file and a notice about citations now. Will there be support for seqan/2.4 for mingw? I saw that there was on older versions. The reason I'm asking is that R packages submitted to Bioconductor/CRAN have to build and pass checks on Linux, OS and Windows, but on Windows the packages are tested with the mingw compiler and I haven't found a way around it. If not, would I be able to get some help with writing support for it? I have been trying to address various issues specific to mingw but am not familiar with Windows specific implementations and am getting way out of my depth. So far I have added mman-win32 to replace sys/mman.h and changed some enum values to not use posix_madvise. The current error I am trying to tackle is the fact that getuid, geteuid, getgid and getegid are Unix-only. It appears I can either write my own macros for them ( https://stackoverflow.com/questions/1594746/win32-equivalent-of-getuid) or install LibGW32 for them (http://gnuwin32.sourceforge. net/packages/libgw32c.htm). Is there an option that would be better and can I get some advice on how I would implement it? thanks, august On Mon, Feb 26, 2018 at 7:49 AM, Hannes Hauswedell < hannes.hauswedell@fu-berlin.de> wrote: > Am Donnerstag, 22. Februar 2018, 11:05:38 schrieb August Guang: > > Hi, > > > > I would like to package the SeqAn headers for easy use in a few R > packages > > I will be writing with my team, the Computational Biology Core at Brown > > University in the US. Would this be ok with you all? I am leaving the > > license as BSD 3 clause as well, and if you would like to make any > > additions to the license please let me know. > > > > You can view the current state of the repository here: > > https://github.com/compbiocore/RSeqAn > > > > Thanks, > > august > > Dear August, > > that's great to hear, feel very free to include it in your package. As > long as > the LICENSE file is shipped with the package there is no problem. Please > also > include a link to www.seqan.de in your documentation and if possible also > the > following note: > "Please do not forget to cite SeqAn if you use this package in your > acedemic > work, even if only in auxiliary tools or pipelines: > https://doi.org/10.1016/j.jbiotec.2017.07.017" > > That would be great! > > Thank you, > Hannes > -- > Hannes Hauswedell > > Scientific staff & PhD candidate > Freie Universit=C3=A4t Berlin / Max Planck Institute for Molecular Geneti= cs > > address Institut f=C3=BCr Informatik > Takustra=C3=9Fe 9 > Room 019 > 14195 Berlin > telephone +49 (0)30 838-75241 > fax +49 (0)30 838-75218 > e-mail hannes.hauswedell@fu-berlin.de > --=20 August Guang HMC Class of 2012 Mathematics Brown University Applied Mathematics --001a113cb98e0d0d3b0566ad487a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks, I have included the license file and a notice abou= t citations now. Will there be support for seqan/2.4 for mingw? I saw that = there was on older versions. The reason I'm asking is that R packages s= ubmitted to Bioconductor/CRAN have to build and pass checks on Linux, OS an= d Windows, but on Windows the packages are tested with the mingw compiler a= nd I haven't found a way around it.

If not, would I be a= ble to get some help with writing support for it? I have been trying to add= ress various issues specific to mingw but am not familiar with Windows spec= ific implementations and am getting way out of my depth. So far I have adde= d mman-win32 to replace sys/mman.h and changed some enum values to not use = posix_madvise. The current error I am trying to tackle is the fact that get= uid, geteuid, getgid and getegid are Unix-only. It appears I can either wri= te my own macros for them (https://stackoverflow.= com/questions/1594746/win32-equivalent-of-getuid) or install = LibGW32 for them (http://gnuwin32.sourceforge.net/packages/li= bgw32c.htm). Is there an option that would be better and can I get some= advice on how I would implement it?

thanks,
=
august

On Mon, Feb 26, 2018 at 7:49 AM, Hannes Hauswedell = <han= nes.hauswedell@fu-berlin.de> wrote:
Am Donnerstag, 22. Februar= 2018, 11:05:38 schrieb August Guang:
> Hi,
>
> I would like to package the SeqAn headers for easy use in a few R pack= ages
> I will be writing with my team, the Computational Biology Core at Brow= n
> University in the US. Would this be ok with you all? I am leaving the<= br> > license as BSD 3 clause as well, and if you would like to make any
> additions to the license please let me know.
>
> You can view the current state of the repository here:
> https://github.com/compbiocore/RSeqAn
>
> Thanks,
> august

Dear August,

that's great to hear, feel very free to include it in your package. As = long as
the LICENSE file is shipped with the package there is no problem. Please al= so
include a link to www.seqan.de in your documentation and if possible also the=
following note:
"Please do not forget to cite SeqAn if you use this package in your ac= edemic
work, even if only in auxiliary tools or pipelines:
https://doi.org/10.1016/j.jbiotec.2017.07.017&= quot;

That would be great!

Thank you,
Hannes
--
Hannes Hauswedell

Scientific staff & PhD candidate
Freie Universit=C3=A4t Berlin / Max Planck Institute for Molecular Genetics=

address=C2=A0 =C2=A0 =C2=A0Institut f=C3=BCr Informatik
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Takustra=C3=9Fe 9
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Room 019
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 14195 Berlin
telephone=C2=A0 =C2=A0+49 (0)30 838-75241
fax=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0+49 (0)30 838-75218
e-mail=C2=A0 =C2=A0 =C2=A0 hannes.hauswedell@fu-berlin.de



--
Au= gust Guang

HMC Class of 2012
Mathematics
<= br>
Brown University
Applied Mathematics
--001a113cb98e0d0d3b0566ad487a-- From Rene.Rahn@fu-berlin.de Tue Mar 06 09:58:17 2018 Received: from outpost9.zedat.fu-berlin.de ([130.133.4.95]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1et8QK-0026xY-Ob>; Tue, 06 Mar 2018 09:58:16 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1et8QK-000z8b-KZ>; Tue, 06 Mar 2018 09:58:16 +0100 Received: from cas3.campus.fu-berlin.de ([130.133.170.203]) by relay2.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1:AES256-SHA:256) (envelope-from ) id <1et8QK-000EY6-Cy>; Tue, 06 Mar 2018 09:58:16 +0100 Received: from EX03A.campus.fu-berlin.de ([130.133.170.134]) by CAS3.campus.fu-berlin.de ([130.133.170.203]) with mapi id 14.03.0382.000; Tue, 6 Mar 2018 09:58:15 +0100 From: =?utf-8?B?UmFobiwgUmVuw6k=?= To: SeqAn Development Thread-Topic: [Seqan-dev] placing seqan headers into R package Thread-Index: AQHTq/c6mxtalLiAME+vcsmipLWbz6O2l7iAgAtGyICAAQskgA== Message-ID: References: <6369393.BiE2NBDbOz@celegans.imp.fu-berlin.de> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: multipart/alternative; boundary="_000_E2BF2B0D45A6493FB73BF51FF1DD3904fuberlinde_" MIME-Version: 1.0 Date: Tue, 06 Mar 2018 09:58:14 +0100 X-Original-Date: Tue, 6 Mar 2018 08:58:14 +0000 X-Originating-IP: 130.133.170.203 X-Original-X-Originating-IP: [130.133.170.222] X-ZEDAT-Hint: XA X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1520326696-000005A1-99555E95/0/0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE, T_FILL_THIS_FORM_SHORT,T_RP_MATCHES_RCVD,URIBL_BLOCKED X-Spam-Checker-Version: SpamAssassin 3.4.1 on Palau.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] placing seqan headers into R package X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.16 Precedence: list Reply-To: SeqAn Development List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2018 08:58:17 -0000 --_000_E2BF2B0D45A6493FB73BF51FF1DD3904fuberlinde_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQXVndXN0LA0KDQptYW55IHRoYW5rcyBmb3IgeW91ciBlZmZvcnRzLiBJIGFtIGFmcmFpZCwg dGhhdCB0aGlzIGlzIGFjdHVhbGx5IHF1aXRlIGEgY2hhbGxlbmdlIHlvdSBhcmUgdHJ5aW5nIGhl cmUuDQpXZSBvbmNlIGhhZCBzdXBwb3J0IGZvciBNaW5HVywgYnV0IGl0IGNhdXNlZCBtb3JlIHBy b2JsZW1zIHRoYW4gYnJpbmdpbmcgYW55IGJlbmVmaXQuIEhlbmNlIHdlIHJlbW92ZWQgdGhlIHN1 cHBvcnQgZnJvbSBpdCwgYWxzbyBnaXZlbiBieSB0aGUgZmFjdCB0aGF0IHRoZXJlIHdhcyBhbHdh eXMgYSBmcmVlIHZlcnNpb24gb2YgVmlzdWFsIFN0dWRpbyBhdmFpbGFibGUuDQpPZiBjb3Vyc2Us IGlmIHlvdSBhcmUgZWFnZXIgdG8gdGFja2xlIHRoaXMgeW91IHdpbGwgZ2V0IHN1cHBvcnQgZnJv bSB1cy4gQnV0IGhvbmVzdGx5LCB3ZSBuZWVkIHRvIHJlYWxseSBjaGVjayBpZiB3ZSBjYW4gYWRk IHRoaXMgaW50byB0aGUgY29yZSBsaWJyYXJ5IGlmIGl0IHdpbGwgZXZlbiB3b3JrLg0KUGxlYXNl IG5vdGUsIHRoYXQgdGhlcmUgd2lsbCBiZSBvbmx5IHBhdGNoIGxldmVsIHJlbGVhc2VzIGxlZnQg Zm9yIHRoZSAyLnggY3ljbGUuIFNvIGhhdmluZyB0aGlzIE1pbkdXIHBvcnQgaW4gYSBzZXBhcmF0 ZSByZXBvc2l0b3J5IGNvdWxkIGJlIGEgY29udmVuaWVudCB3YXkgZm9yIGJvdGggc2lkZXMuDQoN CldlIGFyZSBjdXJyZW50bHkgd29ya2luZyBvbiBTZXFBbiAzIGFuZCB0aGlzIHdpbGwgYmUgbm8g Y29tcGF0aWJsZSB3aXRoIFNlcUFuIDIgYW5kIHJlcXVpcmVzIGMrKzE3LzIwLiBJIGFtIGFmcmFp ZCB0aGlzIHdpbGwgYmUgYSBzdG9wcGVyIGZvciBNaW5HVyBmb3IgcXVpdGUgc29tZSB0aW1lLg0K QnV0LCBJIHRoaW5rIGlmIFdpbmRvd3MgY29tZXMgd2l0aCBhIGxpbnV4IHN1YnN5c3RlbSB0aGVz ZSBkYXlzIGl0IGNvdWxkIGJlIHdvcnRoIGl0IHRvIGNoZWNrIGlmIFIgbWlnaHQgIHBhY2thZ2Ug dXNpbmcgc3RhbmRhcmQgbGludXggb24gV2luZG93cyBhbnl3YXkgaW4gdGhlIGZ1dHVyZSAoTm90 IHN1cmUgaWYgdGhleSBoYXZlIGl0IG9uIHRoZWlyIHdpc2hsaXN0IGFscmVhZHkpLg0KDQpIb3dl dmVyLCB3ZSBhcmUgc3RpbGwgaGFwcHkgdG8gYXNzaXN0IHlvdSB0byB0cnkgb3V0IG1pbkdXIGNv bXBpbGVyLiBQbGVhc2UgbGV0IHVzIGtub3cgdGhlIGNvbXBpbGVyIGVycm9ycyB5b3UgcmVjZWl2 ZSwgYW5kIHRoZSBpbnZva2VkIGJ1aWxkIGNvbW1hbmQsIHNvIHdlIGNhbiBoYXZlIGEgY2xvc2Vy IGxvb2sgb24gb3VyIHNpZGUuDQpGb3IgdGhlIHJlc3BlY3RpdmUgZXJyb3IgeW91IGFyZSByZWNl aXZpbmcsIGl0IHNlZW1zIHRoZSBvbmx5IHBsYWNlIHRoYXQgaXMgdXNpbmcgaXQgaXMgdGhlIDxz ZXFhbi9zeXN0ZW0vZmlsZV9zeW5jLmg+IGhlYWRlciBhbmQgc29tZSBvdGhlciBoZWFkZXJzIGRv aW5nIHNvbWUgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiBpdC4NCkFzIGZhciBhcyBJIGFtIGNvbmNl cm5lZCwgdGhpcyBpcyBvbGQgY29kZSBhbmQgZG9lcyBub3QgcmVhbGx5IG5lZWQgdG8gYmUgc2hp cHBlZCBpbiB5b3VyIHByb2plY3QuIFNvIHlvdSBjb3VsZCB3cmFwIGl0IGludG8gbWFjcm9zLCB0 aGF0IGlmIE1pbkdXIGlzIHVzZWQgdGhlc2UgY29kZSBwYXRocyBhcmUgbm90IGV2YWx1YXRlZC4N CldlIGhhdmUgYSB2aXJ0dWFsIHN0cmVhbSBjbGFzcyBub3csIHdoaWNoIGlzIGEgYmV0dGVyIGFs dGVybmF0aXZlIGZvciB0aGUgRmlsZSBjbGFzcy4NCkFueWhvdywgSSBjb3VsZG4ndCBmaW5kIGFu eSBwbGFjZSB3aGVyZSB3ZSBkaXJlY3RseSB1c2UgRmlsZTxTeW5jfEFzeW5jPiBmb3IgKGEpc3lu Y2hyb25vdXMgSS9PIHNvIGl0IHdvdWxkIGJlIHNhZmUgdG8gcmVtb3ZlIGZvciB0aGUgUiBwb3J0 Lg0KDQpMZXQgbWUga25vdyBpZiB0aGVyZSBpcyBhbnl0aGluZyBtb3JlLCBidXQgcGxlYXNlIGJl YXIgaW4gbWluZCwgdGhhdCB3ZSBhcmUgcXVpdGUgYnVzeSByaWdodCBub3csIGFuZCBpdCBjb3Vs ZCB0YWtlIGEgd2hpbGUgZm9yIHVzIHRvIHJlc3BvbmQgd2l0aCBhIHByb3BlciBzb2x1dGlvbi4N CkVzcGVjaWFsbHkgaW4gdGhlIG5leHQgdHdvIHdlZWtzIDspDQoNCkJlc3QsDQoNClJlbsOpDQoN Cg0KT24gNS4gTWFyIDIwMTgsIGF0IDE4OjAxLCBBdWd1c3QgR3VhbmcgPGF1Z3VzdC5ndWFuZ0Bn bWFpbC5jb208bWFpbHRvOmF1Z3VzdC5ndWFuZ0BnbWFpbC5jb20+PiB3cm90ZToNCg0KVGhhbmtz LCBJIGhhdmUgaW5jbHVkZWQgdGhlIGxpY2Vuc2UgZmlsZSBhbmQgYSBub3RpY2UgYWJvdXQgY2l0 YXRpb25zIG5vdy4gV2lsbCB0aGVyZSBiZSBzdXBwb3J0IGZvciBzZXFhbi8yLjQgZm9yIG1pbmd3 PyBJIHNhdyB0aGF0IHRoZXJlIHdhcyBvbiBvbGRlciB2ZXJzaW9ucy4gVGhlIHJlYXNvbiBJJ20g YXNraW5nIGlzIHRoYXQgUiBwYWNrYWdlcyBzdWJtaXR0ZWQgdG8gQmlvY29uZHVjdG9yL0NSQU4g aGF2ZSB0byBidWlsZCBhbmQgcGFzcyBjaGVja3Mgb24gTGludXgsIE9TIGFuZCBXaW5kb3dzLCBi dXQgb24gV2luZG93cyB0aGUgcGFja2FnZXMgYXJlIHRlc3RlZCB3aXRoIHRoZSBtaW5ndyBjb21w aWxlciBhbmQgSSBoYXZlbid0IGZvdW5kIGEgd2F5IGFyb3VuZCBpdC4NCg0KSWYgbm90LCB3b3Vs ZCBJIGJlIGFibGUgdG8gZ2V0IHNvbWUgaGVscCB3aXRoIHdyaXRpbmcgc3VwcG9ydCBmb3IgaXQ/ IEkgaGF2ZSBiZWVuIHRyeWluZyB0byBhZGRyZXNzIHZhcmlvdXMgaXNzdWVzIHNwZWNpZmljIHRv IG1pbmd3IGJ1dCBhbSBub3QgZmFtaWxpYXIgd2l0aCBXaW5kb3dzIHNwZWNpZmljIGltcGxlbWVu dGF0aW9ucyBhbmQgYW0gZ2V0dGluZyB3YXkgb3V0IG9mIG15IGRlcHRoLiBTbyBmYXIgSSBoYXZl IGFkZGVkIG1tYW4td2luMzIgdG8gcmVwbGFjZSBzeXMvbW1hbi5oIGFuZCBjaGFuZ2VkIHNvbWUg ZW51bSB2YWx1ZXMgdG8gbm90IHVzZSBwb3NpeF9tYWR2aXNlLiBUaGUgY3VycmVudCBlcnJvciBJ IGFtIHRyeWluZyB0byB0YWNrbGUgaXMgdGhlIGZhY3QgdGhhdCBnZXR1aWQsIGdldGV1aWQsIGdl dGdpZCBhbmQgZ2V0ZWdpZCBhcmUgVW5peC1vbmx5LiBJdCBhcHBlYXJzIEkgY2FuIGVpdGhlciB3 cml0ZSBteSBvd24gbWFjcm9zIGZvciB0aGVtIChodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1 ZXN0aW9ucy8xNTk0NzQ2L3dpbjMyLWVxdWl2YWxlbnQtb2YtZ2V0dWlkKSBvciBpbnN0YWxsIExp YkdXMzIgZm9yIHRoZW0gKGh0dHA6Ly9nbnV3aW4zMi5zb3VyY2Vmb3JnZS5uZXQvcGFja2FnZXMv bGliZ3czMmMuaHRtKS4gSXMgdGhlcmUgYW4gb3B0aW9uIHRoYXQgd291bGQgYmUgYmV0dGVyIGFu ZCBjYW4gSSBnZXQgc29tZSBhZHZpY2Ugb24gaG93IEkgd291bGQgaW1wbGVtZW50IGl0Pw0KDQp0 aGFua3MsDQphdWd1c3QNCg0KT24gTW9uLCBGZWIgMjYsIDIwMTggYXQgNzo0OSBBTSwgSGFubmVz IEhhdXN3ZWRlbGwgPGhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kZTxtYWlsdG86aGFubmVz LmhhdXN3ZWRlbGxAZnUtYmVybGluLmRlPj4gd3JvdGU6DQpBbSBEb25uZXJzdGFnLCAyMi4gRmVi cnVhciAyMDE4LCAxMTowNTozOCBzY2hyaWViIEF1Z3VzdCBHdWFuZzoNCj4gSGksDQo+DQo+IEkg d291bGQgbGlrZSB0byBwYWNrYWdlIHRoZSBTZXFBbiBoZWFkZXJzIGZvciBlYXN5IHVzZSBpbiBh IGZldyBSIHBhY2thZ2VzDQo+IEkgd2lsbCBiZSB3cml0aW5nIHdpdGggbXkgdGVhbSwgdGhlIENv bXB1dGF0aW9uYWwgQmlvbG9neSBDb3JlIGF0IEJyb3duDQo+IFVuaXZlcnNpdHkgaW4gdGhlIFVT LiBXb3VsZCB0aGlzIGJlIG9rIHdpdGggeW91IGFsbD8gSSBhbSBsZWF2aW5nIHRoZQ0KPiBsaWNl bnNlIGFzIEJTRCAzIGNsYXVzZSBhcyB3ZWxsLCBhbmQgaWYgeW91IHdvdWxkIGxpa2UgdG8gbWFr ZSBhbnkNCj4gYWRkaXRpb25zIHRvIHRoZSBsaWNlbnNlIHBsZWFzZSBsZXQgbWUga25vdy4NCj4N Cj4gWW91IGNhbiB2aWV3IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSByZXBvc2l0b3J5IGhlcmU6 DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9jb21wYmlvY29yZS9SU2VxQW4NCj4NCj4gVGhhbmtzLA0K PiBhdWd1c3QNCg0KRGVhciBBdWd1c3QsDQoNCnRoYXQncyBncmVhdCB0byBoZWFyLCBmZWVsIHZl cnkgZnJlZSB0byBpbmNsdWRlIGl0IGluIHlvdXIgcGFja2FnZS4gQXMgbG9uZyBhcw0KdGhlIExJ Q0VOU0UgZmlsZSBpcyBzaGlwcGVkIHdpdGggdGhlIHBhY2thZ2UgdGhlcmUgaXMgbm8gcHJvYmxl bS4gUGxlYXNlIGFsc28NCmluY2x1ZGUgYSBsaW5rIHRvIHd3dy5zZXFhbi5kZTxodHRwOi8vd3d3 LnNlcWFuLmRlLz4gaW4geW91ciBkb2N1bWVudGF0aW9uIGFuZCBpZiBwb3NzaWJsZSBhbHNvIHRo ZQ0KZm9sbG93aW5nIG5vdGU6DQoiUGxlYXNlIGRvIG5vdCBmb3JnZXQgdG8gY2l0ZSBTZXFBbiBp ZiB5b3UgdXNlIHRoaXMgcGFja2FnZSBpbiB5b3VyIGFjZWRlbWljDQp3b3JrLCBldmVuIGlmIG9u bHkgaW4gYXV4aWxpYXJ5IHRvb2xzIG9yIHBpcGVsaW5lczoNCmh0dHBzOi8vZG9pLm9yZy8xMC4x MDE2L2ouamJpb3RlYy4yMDE3LjA3LjAxNyINCg0KVGhhdCB3b3VsZCBiZSBncmVhdCENCg0KVGhh bmsgeW91LA0KSGFubmVzDQotLQ0KSGFubmVzIEhhdXN3ZWRlbGwNCg0KU2NpZW50aWZpYyBzdGFm ZiAmIFBoRCBjYW5kaWRhdGUNCkZyZWllIFVuaXZlcnNpdMOkdCBCZXJsaW4gLyBNYXggUGxhbmNr IEluc3RpdHV0ZSBmb3IgTW9sZWN1bGFyIEdlbmV0aWNzDQoNCmFkZHJlc3MgICAgIEluc3RpdHV0 IGbDvHIgSW5mb3JtYXRpaw0KICAgICAgICAgICAgVGFrdXN0cmHDn2UgOQ0KICAgICAgICAgICAg Um9vbSAwMTkNCiAgICAgICAgICAgIDE0MTk1IEJlcmxpbg0KdGVsZXBob25lICAgKzQ5ICgwKTMw IDgzOC03NTI0MTx0ZWw6JTJCNDklMjAlMjgwJTI5MzAlMjA4MzgtNzUyNDE+DQpmYXggICAgICAg ICArNDkgKDApMzAgODM4LTc1MjE4PHRlbDolMkI0OSUyMCUyODAlMjkzMCUyMDgzOC03NTIxOD4N CmUtbWFpbCAgICAgIGhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kZTxtYWlsdG86aGFubmVz LmhhdXN3ZWRlbGxAZnUtYmVybGluLmRlPg0KDQoNCg0KLS0NCkF1Z3VzdCBHdWFuZw0KDQpITUMg Q2xhc3Mgb2YgMjAxMg0KTWF0aGVtYXRpY3MNCg0KQnJvd24gVW5pdmVyc2l0eQ0KQXBwbGllZCBN YXRoZW1hdGljcw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCnNlcWFuLWRldiBtYWlsaW5nIGxpc3QNCnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU8 bWFpbHRvOnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU+DQpodHRwczovL2xpc3RzLmZ1LWJl cmxpbi5kZS9saXN0aW5mby9zZXFhbi1kZXYNCg0KLS0tDQoNClJlbsOpIFJhaG4NClBoLkQuIFN0 dWRlbnQgKGRlLk5CSSAtIENJQkkpDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K VGVsOiAgKCs0OSkgMzAgODM4IDcyOTc0DQpNYWlsOiByZW5lLnJhaG5AZnUtYmVybGluLmRlPG1h aWx0bzpyZW5lLnJhaG5AZnUtYmVybGluLmRlPg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCkluc3RpdHV0ZSBvZiBDb21wdXRlciBTY2llbmNlDQpBbGdvcml0aG1pYyBCaW9pbmZv cm1hdGljcyAoQUJJKQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZyZWllIFVu aXZlcnNpdMOkdCBCZXJsaW4NClRha3VzdHJhw59lIDkNCjE0MTk1IEJlcmxpbg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K --_000_E2BF2B0D45A6493FB73BF51FF1DD3904fuberlinde_ Content-Type: text/html; charset="utf-8" Content-ID: <437EF726E1929343A699703E870CBE86@campus.fu-berlin.de> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KSGkgQXVndXN0LA0KPGRpdiBjbGFz cz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+bWFueSB0aGFua3MgZm9y IHlvdXIgZWZmb3J0cy4gSSBhbSBhZnJhaWQsIHRoYXQgdGhpcyBpcyBhY3R1YWxseSBxdWl0ZSBh IGNoYWxsZW5nZSB5b3UgYXJlIHRyeWluZyBoZXJlLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5XZSBv bmNlIGhhZCBzdXBwb3J0IGZvciBNaW5HVywgYnV0IGl0IGNhdXNlZCBtb3JlIHByb2JsZW1zIHRo YW4gYnJpbmdpbmcgYW55IGJlbmVmaXQuIEhlbmNlIHdlIHJlbW92ZWQgdGhlIHN1cHBvcnQgZnJv bSBpdCwgYWxzbyBnaXZlbiBieSB0aGUgZmFjdCB0aGF0IHRoZXJlIHdhcyBhbHdheXMgYSBmcmVl IHZlcnNpb24gb2YgVmlzdWFsIFN0dWRpbyBhdmFpbGFibGUuPC9kaXY+DQo8ZGl2IGNsYXNzPSIi Pk9mIGNvdXJzZSwgaWYgeW91IGFyZSBlYWdlciB0byB0YWNrbGUgdGhpcyB5b3Ugd2lsbCBnZXQg c3VwcG9ydCBmcm9tIHVzLiBCdXQgaG9uZXN0bHksIHdlIG5lZWQgdG8gcmVhbGx5IGNoZWNrIGlm IHdlIGNhbiBhZGQgdGhpcyBpbnRvIHRoZSBjb3JlIGxpYnJhcnkgaWYgaXQgd2lsbCBldmVuIHdv cmsuPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPlBsZWFzZSBub3RlLCB0aGF0IHRoZXJlIHdpbGwgYmUg b25seSBwYXRjaCBsZXZlbCByZWxlYXNlcyBsZWZ0IGZvciB0aGUgMi54IGN5Y2xlLiBTbyBoYXZp bmcgdGhpcyBNaW5HVyBwb3J0IGluIGEgc2VwYXJhdGUgcmVwb3NpdG9yeSBjb3VsZCBiZSBhIGNv bnZlbmllbnQgd2F5IGZvciBib3RoIHNpZGVzLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xh c3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+V2UgYXJlIGN1cnJlbnRseSB3b3JraW5nIG9u IFNlcUFuIDMgYW5kIHRoaXMgd2lsbCBiZSBubyBjb21wYXRpYmxlIHdpdGggU2VxQW4gMiBhbmQg cmVxdWlyZXMgYyYjNDM7JiM0MzsxNy8yMC4gSSBhbSBhZnJhaWQgdGhpcyB3aWxsIGJlIGEgc3Rv cHBlciBmb3IgTWluR1cgZm9yIHF1aXRlIHNvbWUgdGltZS48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+ QnV0LCBJIHRoaW5rIGlmIFdpbmRvd3MgY29tZXMgd2l0aCBhIGxpbnV4IHN1YnN5c3RlbSB0aGVz ZSBkYXlzIGl0IGNvdWxkIGJlIHdvcnRoIGl0IHRvIGNoZWNrIGlmIFIgbWlnaHQgJm5ic3A7cGFj a2FnZSB1c2luZyBzdGFuZGFyZCBsaW51eCBvbiBXaW5kb3dzIGFueXdheSBpbiB0aGUgZnV0dXJl IChOb3Qgc3VyZSBpZiB0aGV5IGhhdmUgaXQgb24gdGhlaXIgd2lzaGxpc3QgYWxyZWFkeSkuPC9k aXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5I b3dldmVyLCB3ZSBhcmUgc3RpbGwgaGFwcHkgdG8gYXNzaXN0IHlvdSB0byB0cnkgb3V0IG1pbkdX IGNvbXBpbGVyLiBQbGVhc2UgbGV0IHVzIGtub3cgdGhlIGNvbXBpbGVyIGVycm9ycyB5b3UgcmVj ZWl2ZSwgYW5kIHRoZSBpbnZva2VkIGJ1aWxkIGNvbW1hbmQsIHNvIHdlIGNhbiBoYXZlIGEgY2xv c2VyIGxvb2sgb24gb3VyIHNpZGUuPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkZvciB0aGUgcmVzcGVj dGl2ZSBlcnJvciB5b3UgYXJlIHJlY2VpdmluZywgaXQgc2VlbXMgdGhlIG9ubHkgcGxhY2UgdGhh dCBpcyB1c2luZyBpdCBpcyB0aGUgJmx0O3NlcWFuL3N5c3RlbS9maWxlX3N5bmMuaCZndDsgaGVh ZGVyIGFuZCBzb21lIG90aGVyIGhlYWRlcnMgZG9pbmcgc29tZSBmb3J3YXJkIGRlY2xhcmF0aW9u IG9mIGl0LjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5BcyBmYXIgYXMgSSBhbSBjb25jZXJuZWQsIHRo aXMgaXMgb2xkIGNvZGUgYW5kIGRvZXMgbm90IHJlYWxseSBuZWVkIHRvIGJlIHNoaXBwZWQgaW4g eW91ciBwcm9qZWN0LiBTbyB5b3UgY291bGQgd3JhcCBpdCBpbnRvIG1hY3JvcywgdGhhdCBpZiBN aW5HVyBpcyB1c2VkIHRoZXNlIGNvZGUgcGF0aHMgYXJlIG5vdCBldmFsdWF0ZWQuPC9kaXY+DQo8 ZGl2IGNsYXNzPSIiPldlIGhhdmUgYSB2aXJ0dWFsIHN0cmVhbSBjbGFzcyBub3csIHdoaWNoIGlz IGEgYmV0dGVyIGFsdGVybmF0aXZlIGZvciB0aGUgRmlsZSBjbGFzcy48L2Rpdj4NCjxkaXYgY2xh c3M9IiI+QW55aG93LCBJIGNvdWxkbid0IGZpbmQgYW55IHBsYWNlIHdoZXJlIHdlIGRpcmVjdGx5 IHVzZSBGaWxlJmx0O1N5bmN8QXN5bmMmZ3Q7IGZvciAoYSlzeW5jaHJvbm91cyBJL08gc28gaXQg d291bGQgYmUgc2FmZSB0byByZW1vdmUgZm9yIHRoZSBSIHBvcnQuPC9kaXY+DQo8ZGl2IGNsYXNz PSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5MZXQgbWUga25vdyBpZiB0 aGVyZSBpcyBhbnl0aGluZyBtb3JlLCBidXQgcGxlYXNlIGJlYXIgaW4gbWluZCwgdGhhdCB3ZSBh cmUgcXVpdGUgYnVzeSByaWdodCBub3csIGFuZCBpdCBjb3VsZCB0YWtlIGEgd2hpbGUgZm9yIHVz IHRvIHJlc3BvbmQgd2l0aCBhIHByb3BlciBzb2x1dGlvbi48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+ RXNwZWNpYWxseSBpbiB0aGUgbmV4dCB0d28gd2Vla3MgOyk8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+ PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkJlc3QsPC9kaXY+DQo8ZGl2IGNs YXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5SZW7DqTwvZGl2Pg0K PGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNs YXNzPSIiPg0KPGRpdj4NCjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNsYXNzPSIiPg0KPGRpdiBj bGFzcz0iIj5PbiA1LiBNYXIgMjAxOCwgYXQgMTg6MDEsIEF1Z3VzdCBHdWFuZyAmbHQ7PGEgaHJl Zj0ibWFpbHRvOmF1Z3VzdC5ndWFuZ0BnbWFpbC5jb20iIGNsYXNzPSIiPmF1Z3VzdC5ndWFuZ0Bn bWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFu Z2UtbmV3bGluZSI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBkaXI9Imx0ciIgc3R5bGU9ImZvbnQt ZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFsOyBm b250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXItc3Bh Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10 cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAt d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IiBjbGFzcz0iIj4NCjxkaXYgc3R5bGU9ImNv bG9yOiByZ2IoMzQsIDM0LCAzNCk7IGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsgZm9u dC1zaXplOiAxMi44cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWxpZ2F0dXJl czogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBs ZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBw eDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2lu ZzogMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IiBjbGFzcz0iIj4N ClRoYW5rcywgSSBoYXZlIGluY2x1ZGVkIHRoZSBsaWNlbnNlIGZpbGUgYW5kIGEgbm90aWNlIGFi b3V0IGNpdGF0aW9ucyBub3cuIFdpbGwgdGhlcmUgYmUgc3VwcG9ydCBmb3Igc2VxYW4vMi40IGZv ciBtaW5ndz8gSSBzYXcgdGhhdCB0aGVyZSB3YXMgb24gb2xkZXIgdmVyc2lvbnMuIFRoZSByZWFz b24gSSdtIGFza2luZyBpcyB0aGF0IFIgcGFja2FnZXMgc3VibWl0dGVkIHRvIEJpb2NvbmR1Y3Rv ci9DUkFOIGhhdmUgdG8gYnVpbGQgYW5kIHBhc3MNCiBjaGVja3Mgb24gTGludXgsIE9TIGFuZCBX aW5kb3dzLCBidXQgb24gV2luZG93cyB0aGUgcGFja2FnZXMgYXJlIHRlc3RlZCB3aXRoIHRoZSBt aW5ndyBjb21waWxlciBhbmQgSSBoYXZlbid0IGZvdW5kIGEgd2F5IGFyb3VuZCBpdC48L2Rpdj4N CjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMzQsIDM0LCAzNCk7IGZvbnQtZmFtaWx5OiBhcmlhbCwg c2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMi44cHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12 YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250 LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsg dGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3Jt YWw7IHdvcmQtc3BhY2luZzogMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1 NSk7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0iY29sb3I6 IHJnYigzNCwgMzQsIDM0KTsgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNp emU6IDEyLjhweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBu b3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRl ci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0 ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAw cHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiIGNsYXNzPSIiPg0KSWYg bm90LCB3b3VsZCBJIGJlIGFibGUgdG8gZ2V0IHNvbWUgaGVscCB3aXRoIHdyaXRpbmcgc3VwcG9y dCBmb3IgaXQ/IEkgaGF2ZSBiZWVuIHRyeWluZyB0byBhZGRyZXNzIHZhcmlvdXMgaXNzdWVzIHNw ZWNpZmljIHRvIG1pbmd3IGJ1dCBhbSBub3QgZmFtaWxpYXIgd2l0aCBXaW5kb3dzIHNwZWNpZmlj IGltcGxlbWVudGF0aW9ucyBhbmQgYW0gZ2V0dGluZyB3YXkgb3V0IG9mIG15IGRlcHRoLiBTbyBm YXIgSSBoYXZlIGFkZGVkIG1tYW4td2luMzINCiB0byByZXBsYWNlIHN5cy9tbWFuLmggYW5kIGNo YW5nZWQgc29tZSBlbnVtIHZhbHVlcyB0byBub3QgdXNlIHBvc2l4X21hZHZpc2UuIFRoZSBjdXJy ZW50IGVycm9yIEkgYW0gdHJ5aW5nIHRvIHRhY2tsZSBpcyB0aGUgZmFjdCB0aGF0IGdldHVpZCwg Z2V0ZXVpZCwgZ2V0Z2lkIGFuZCBnZXRlZ2lkIGFyZSBVbml4LW9ubHkuIEl0IGFwcGVhcnMgSSBj YW4gZWl0aGVyIHdyaXRlIG15IG93biBtYWNyb3MgZm9yIHRoZW0gKDxhIGhyZWY9Imh0dHBzOi8v c3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE1OTQ3NDYvd2luMzItZXF1aXZhbGVudC1vZi1n ZXR1aWQiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj5odHRwczovL3N0YWNrb3ZlcmZsb3cuY29t Lzx3YnIgY2xhc3M9IiI+cXVlc3Rpb25zLzE1OTQ3NDYvd2luMzItPHdiciBjbGFzcz0iIj5lcXVp dmFsZW50LW9mLWdldHVpZDwvYT4pDQogb3IgaW5zdGFsbCBMaWJHVzMyIGZvciB0aGVtICg8YSBo cmVmPSJodHRwOi8vZ251d2luMzIuc291cmNlZm9yZ2UubmV0L3BhY2thZ2VzL2xpYmd3MzJjLmh0 bSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmh0dHA6Ly9nbnV3aW4zMi5zb3VyY2Vmb3JnZS48 d2JyIGNsYXNzPSIiPm5ldC9wYWNrYWdlcy9saWJndzMyYy5odG08L2E+KS4gSXMgdGhlcmUgYW4g b3B0aW9uIHRoYXQgd291bGQgYmUgYmV0dGVyIGFuZCBjYW4gSSBnZXQgc29tZSBhZHZpY2UNCiBv biBob3cgSSB3b3VsZCBpbXBsZW1lbnQgaXQ/PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFz cz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj50aGFua3MsPC9kaXY+DQo8ZGl2IGNsYXNzPSIi PmF1Z3VzdDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSIgc3R5bGU9ImZv bnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1zdHlsZTogbm9ybWFs OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBsZXR0ZXIt c3BhY2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4 dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4 OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7Ij4NCjxiciBjbGFzcz0iIj4NCjxkaXYg Y2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBNb24sIEZlYiAyNiwgMjAxOCBhdCA3OjQ5IEFNLCBIYW5u ZXMgSGF1c3dlZGVsbDxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwv c3Bhbj48c3BhbiBkaXI9Imx0ciIgY2xhc3M9IiI+Jmx0OzxhIGhyZWY9Im1haWx0bzpoYW5uZXMu aGF1c3dlZGVsbEBmdS1iZXJsaW4uZGUiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj5oYW5uZXMu aGF1c3dlZGVsbEBmdS1iZXJsaW4uZGU8L2E+Jmd0Ozwvc3Bhbj48c3BhbiBjbGFzcz0iQXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+d3JvdGU6PGJyIGNsYXNzPSIiPg0KPGJsb2Nr cXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOiAwcHggMHB4IDBweCAwLjhl eDsgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3Jk ZXItbGVmdC1jb2xvcjogcmdiKDIwNCwgMjA0LCAyMDQpOyBwYWRkaW5nLWxlZnQ6IDFleDsiPg0K PGRpdiBjbGFzcz0iSE9FblpiIj4NCjxkaXYgY2xhc3M9Img1Ij5BbSBEb25uZXJzdGFnLCAyMi4g RmVicnVhciAyMDE4LCAxMTowNTozOCBzY2hyaWViIEF1Z3VzdCBHdWFuZzo8YnIgY2xhc3M9IiI+ DQomZ3Q7IEhpLDxiciBjbGFzcz0iIj4NCiZndDs8YnIgY2xhc3M9IiI+DQomZ3Q7IEkgd291bGQg bGlrZSB0byBwYWNrYWdlIHRoZSBTZXFBbiBoZWFkZXJzIGZvciBlYXN5IHVzZSBpbiBhIGZldyBS IHBhY2thZ2VzPGJyIGNsYXNzPSIiPg0KJmd0OyBJIHdpbGwgYmUgd3JpdGluZyB3aXRoIG15IHRl YW0sIHRoZSBDb21wdXRhdGlvbmFsIEJpb2xvZ3kgQ29yZSBhdCBCcm93bjxiciBjbGFzcz0iIj4N CiZndDsgVW5pdmVyc2l0eSBpbiB0aGUgVVMuIFdvdWxkIHRoaXMgYmUgb2sgd2l0aCB5b3UgYWxs PyBJIGFtIGxlYXZpbmcgdGhlPGJyIGNsYXNzPSIiPg0KJmd0OyBsaWNlbnNlIGFzIEJTRCAzIGNs YXVzZSBhcyB3ZWxsLCBhbmQgaWYgeW91IHdvdWxkIGxpa2UgdG8gbWFrZSBhbnk8YnIgY2xhc3M9 IiI+DQomZ3Q7IGFkZGl0aW9ucyB0byB0aGUgbGljZW5zZSBwbGVhc2UgbGV0IG1lIGtub3cuPGJy IGNsYXNzPSIiPg0KJmd0OzxiciBjbGFzcz0iIj4NCiZndDsgWW91IGNhbiB2aWV3IHRoZSBjdXJy ZW50IHN0YXRlIG9mIHRoZSByZXBvc2l0b3J5IGhlcmU6PGJyIGNsYXNzPSIiPg0KJmd0OzxzcGFu IGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSBocmVmPSJodHRw czovL2dpdGh1Yi5jb20vY29tcGJpb2NvcmUvUlNlcUFuIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdl dD0iX2JsYW5rIiBjbGFzcz0iIj5odHRwczovL2dpdGh1Yi5jb20vPHdiciBjbGFzcz0iIj5jb21w YmlvY29yZS9SU2VxQW48L2E+PGJyIGNsYXNzPSIiPg0KJmd0OzxiciBjbGFzcz0iIj4NCiZndDsg VGhhbmtzLDxiciBjbGFzcz0iIj4NCiZndDsgYXVndXN0PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNz PSIiPg0KPC9kaXY+DQo8L2Rpdj4NCkRlYXIgQXVndXN0LDxiciBjbGFzcz0iIj4NCjxiciBjbGFz cz0iIj4NCnRoYXQncyBncmVhdCB0byBoZWFyLCBmZWVsIHZlcnkgZnJlZSB0byBpbmNsdWRlIGl0 IGluIHlvdXIgcGFja2FnZS4gQXMgbG9uZyBhczxiciBjbGFzcz0iIj4NCnRoZSBMSUNFTlNFIGZp bGUgaXMgc2hpcHBlZCB3aXRoIHRoZSBwYWNrYWdlIHRoZXJlIGlzIG5vIHByb2JsZW0uIFBsZWFz ZSBhbHNvPGJyIGNsYXNzPSIiPg0KaW5jbHVkZSBhIGxpbmsgdG88c3BhbiBjbGFzcz0iQXBwbGUt Y29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+PGEgaHJlZj0iaHR0cDovL3d3dy5zZXFhbi5k ZS8iIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPnd3dy5zZXFhbi5k ZTwvYT48c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4mbmJzcDs8L3NwYW4+aW4g eW91ciBkb2N1bWVudGF0aW9uIGFuZCBpZiBwb3NzaWJsZSBhbHNvIHRoZTxiciBjbGFzcz0iIj4N CmZvbGxvd2luZyBub3RlOjxiciBjbGFzcz0iIj4NCiZxdW90O1BsZWFzZSBkbyBub3QgZm9yZ2V0 IHRvIGNpdGUgU2VxQW4gaWYgeW91IHVzZSB0aGlzIHBhY2thZ2UgaW4geW91ciBhY2VkZW1pYzxi ciBjbGFzcz0iIj4NCndvcmssIGV2ZW4gaWYgb25seSBpbiBhdXhpbGlhcnkgdG9vbHMgb3IgcGlw ZWxpbmVzOjxiciBjbGFzcz0iIj4NCjxhIGhyZWY9Imh0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L2ou amJpb3RlYy4yMDE3LjA3LjAxNyIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayIgY2xh c3M9IiI+aHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai48d2JyIGNsYXNzPSIiPmpiaW90ZWMuMjAx Ny4wNy4wMTc8L2E+JnF1b3Q7PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KVGhhdCB3b3Vs ZCBiZSBncmVhdCE8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpUaGFuayB5b3UsPGJyIGNs YXNzPSIiPg0KSGFubmVzPGJyIGNsYXNzPSIiPg0KLS08YnIgY2xhc3M9IiI+DQpIYW5uZXMgSGF1 c3dlZGVsbDxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NClNjaWVudGlmaWMgc3RhZmYgJmFt cDsgUGhEIGNhbmRpZGF0ZTxiciBjbGFzcz0iIj4NCkZyZWllIFVuaXZlcnNpdMOkdCBCZXJsaW4g LyBNYXggUGxhbmNrIEluc3RpdHV0ZSBmb3IgTW9sZWN1bGFyIEdlbmV0aWNzPGJyIGNsYXNzPSIi Pg0KPGJyIGNsYXNzPSIiPg0KYWRkcmVzcyZuYnNwOyAmbmJzcDsgJm5ic3A7SW5zdGl0dXQgZsO8 ciBJbmZvcm1hdGlrPGJyIGNsYXNzPSIiPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgVGFrdXN0cmHDn2UgOTxiciBjbGFzcz0iIj4NCiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJvb20gMDE5PGJyIGNsYXNzPSIiPg0KJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgMTQxOTUgQmVybGluPGJyIGNsYXNzPSIi Pg0KdGVsZXBob25lJm5ic3A7ICZuYnNwOzxhIGhyZWY9InRlbDolMkI0OSUyMCUyODAlMjkzMCUy MDgzOC03NTI0MSIgdmFsdWU9IiYjNDM7NDkzMDgzODc1MjQxIiBjbGFzcz0iIj4mIzQzOzQ5ICgw KTMwIDgzOC03NTI0MTwvYT48YnIgY2xhc3M9IiI+DQpmYXgmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7PGEgaHJlZj0idGVsOiUyQjQ5JTIwJTI4MCUyOTMwJTIwODM4LTc1MjE4IiB2 YWx1ZT0iJiM0Mzs0OTMwODM4NzUyMTgiIGNsYXNzPSIiPiYjNDM7NDkgKDApMzAgODM4LTc1MjE4 PC9hPjxiciBjbGFzcz0iIj4NCmUtbWFpbCZuYnNwOyAmbmJzcDsgJm5ic3A7PHNwYW4gY2xhc3M9 IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjxhIGhyZWY9Im1haWx0bzpoYW5u ZXMuaGF1c3dlZGVsbEBmdS1iZXJsaW4uZGUiIGNsYXNzPSIiPmhhbm5lcy5oYXVzd2VkZWxsQGZ1 LWJlcmxpbi5kZTwvYT48YnIgY2xhc3M9IiI+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBj bGFzcz0iIj4NCjxiciBjbGVhcj0iYWxsIiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNs YXNzPSIiPg0KPC9kaXY+DQotLTxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZu YnNwOzwvc3Bhbj48YnIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSJnbWFpbF9zaWduYXR1cmUiIGRh dGEtc21hcnRtYWlsPSJnbWFpbF9zaWduYXR1cmUiPg0KPGRpdiBkaXI9Imx0ciIgY2xhc3M9IiI+ QXVndXN0IEd1YW5nDQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+ SE1DIENsYXNzIG9mIDIwMTI8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+TWF0aGVtYXRpY3M8L2Rpdj4N CjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkJyb3du IFVuaXZlcnNpdHk8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+QXBwbGllZCBNYXRoZW1hdGljczwvZGl2 Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8c3BhbiBzdHlsZT0iZm9udC1mYW1p bHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQt dmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5n OiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5z Zm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJr aXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAh aW1wb3J0YW50OyIgY2xhc3M9IiI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX188L3NwYW4+PGJyIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250 LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1h bDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0 aDogMHB4OyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsg Zm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBu b3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQt YWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hp dGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Ut d2lkdGg6IDBweDsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyIgY2xh c3M9IiI+c2VxYW4tZGV2DQogbWFpbGluZyBsaXN0PC9zcGFuPjxiciBzdHlsZT0iZm9udC1mYW1p bHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQt dmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGxldHRlci1zcGFjaW5n OiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5z Zm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJr aXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsiIGNsYXNzPSIiPg0KPGEgaHJlZj0ibWFpbHRvOnNl cWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGUiIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNh OyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6 IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3Jw aGFuczogYXV0bzsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3aWRvd3M6IGF1dG87IHdvcmQtc3Bh Y2luZzogMHB4OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IGF1dG87IC13ZWJraXQtdGV4dC1z dHJva2Utd2lkdGg6IDBweDsiIGNsYXNzPSIiPnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU8 L2E+PGJyIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZv bnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6 IG5vcm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQt aW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3 b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyIgY2xhc3M9 IiI+DQo8YSBocmVmPSJodHRwczovL2xpc3RzLmZ1LWJlcmxpbi5kZS9saXN0aW5mby9zZXFhbi1k ZXYiIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQt c3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5v cm1hbDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogYXV0bzsgdGV4dC1hbGlnbjog c3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj ZTogbm9ybWFsOyB3aWRvd3M6IGF1dG87IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRleHQt c2l6ZS1hZGp1c3Q6IGF1dG87IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IDBweDsiIGNsYXNz PSIiPmh0dHBzOi8vbGlzdHMuZnUtYmVybGluLmRlL2xpc3RpbmZvL3NlcWFuLWRldjwvYT48L2Rp dj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPGJyIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj4N CjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7 IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9u ZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1z dHJva2Utd2lkdGg6IDBweDsgd29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9k ZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0i Ij4NCjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGxldHRlci1zcGFjaW5nOiBub3Jt YWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTog bm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4 dC1zdHJva2Utd2lkdGg6IDBweDsgd29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5ic3At bW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IiBjbGFz cz0iIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7 IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+LS0tPC9mb250Pjwv ZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQg ZmFjZT0iQ291cmllciBOZXciIGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZm9udD48L2Rpdj4N CjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9 IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj5SZW7DqSBSYWhuPC9mb250PjwvZGl2Pg0KPGRpdiBzdHls ZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBO ZXciIGNsYXNzPSIiPlBoLkQuIFN0dWRlbnQgKGRlLk5CSSAtIENJQkkpPC9mb250PjwvZGl2Pg0K PGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0i Q291cmllciBOZXciIGNsYXNzPSIiPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9m b250PjwvZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+ DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj5UZWw6ICZu YnNwOygmIzQzOzQ5KSAzMCA4MzgmbmJzcDs8L2ZvbnQ+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiAnQ291cmllciBOZXcnOyIgY2xhc3M9IiI+NzI5NzQ8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNz PSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj5NYWlsOiZuYnNwOzxhIGhyZWY9 Im1haWx0bzpyZW5lLnJhaG5AZnUtYmVybGluLmRlIiBjbGFzcz0iIj5yZW5lLnJhaG5AZnUtYmVy bGluLmRlPC9hPjwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmll ciBOZXciIGNsYXNzPSIiPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9mb250Pjwv ZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0i Ij48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+SW5zdGl0dXRlIG9mIENvbXB1dGVy IFNjaWVuY2U8L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7 IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+QWxnb3JpdGhtaWMg QmlvaW5mb3JtYXRpY3MgKEFCSSk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAy OyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+ LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxl PSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5l dyIgY2xhc3M9IiI+RnJlaWUgVW5pdmVyc2l0w6R0IEJlcmxpbjwvZm9udD48L2Rpdj4NCjxkaXYg c3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJp ZXIgTmV3IiBjbGFzcz0iIj5UYWt1c3RyYcOfZSA5PC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0i b3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXci IGNsYXNzPSIiPjE0MTk1IEJlcmxpbjwvZm9udD48L2Rpdj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6 IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0i Ij4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZm9udD48L2Rpdj4NCjwvZGl2Pg0K PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8L2JvZHk+DQo8 L2h0bWw+DQo= --_000_E2BF2B0D45A6493FB73BF51FF1DD3904fuberlinde_-- From august.guang@gmail.com Mon Mar 12 18:55:18 2018 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1evRfI-001W4c-3h>; Mon, 12 Mar 2018 18:55:16 +0100 Received: from mail-oi0-f45.google.com ([209.85.218.45]) by relay1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:AES128-GCM-SHA256:128) (envelope-from ) id <1evRfH-000fjz-Hq>; Mon, 12 Mar 2018 18:55:15 +0100 Received: by mail-oi0-f45.google.com with SMTP id x10so13066224oig.2 for ; Mon, 12 Mar 2018 10:55:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=CL60ckRfdB1xYxh999kOPO1vYsE3hZV2k3jyZ60r8Ek=; b=bulotwz8xALolbncZsFU8TXpafBGdy68xeYB3ABYdSqWt1TlWb776PZju5BMHHv17T +LiuYDtD0kHB6Krstuq8n3T+miPN0Y/bklEl0OowvMv3o7JHE+VKqVKbWVEUgELyc2Xf t3jQkz3a8YpwDgaxdMYGpb9K5kUlOVLXDGho/TPtxJbmTAmiaUhqxhcnWg0xGXJgld1p Tv1ijmwqRsRxmRxqY/PJUHE71z5n9mXvt9uzHdgoPPmrqs1E1UxZsb6g9vuIJSDmMKHe hK3I9zVKrSlsUGzN75mMUjiFie0l7DHyJYnLMmpQjU7luew5mK+Pxa54I4eU3r94UKYS 1vrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=CL60ckRfdB1xYxh999kOPO1vYsE3hZV2k3jyZ60r8Ek=; b=poY2+ERrHH0q0YW29mGpQuT15fRCG3Ccy07bHpQAdg5tUExpORZ0c40osrbA26BoyB rfw+WSD2WiJ+ed8rlfNwjnmOkyvfSCSLawTpLpDluHix/oFQU8I/Uwj6BihSnQfsiDF2 +c97JyP6oajzOFbQQw7VYUV3dQP5eRvA8t+AvdY77a23U03747mpSSl27w2sjd+/s7Ov nv+AMdq5uMNgp0htwo6cstxgKvsOJoMNSE8jTl9dJ1NNYisbZjDwJQoD1lKNPEgEKTQ+ l3KUxOvL7BL/14IcatjHBpjfjNCuJcn2u2E4iwctA7JJMhsGkWu/w3MFw8KjjPsi5sWY xJlg== X-Gm-Message-State: AElRT7EKlFlOYwtuCUxm3TGJuI+r3pGUiLfjK5y7CpSVr6wE8+geHDwr 17Q/ogLoeS6nMSunexPuFTZWO+hAiHbbeb8FsiOWFzB6 X-Google-Smtp-Source: AG47ELtGSVwHfcvo7BjbRr/SmMcjAhGkJTB42MCYn+GLDmk2I7hbfBnyhgUZWesN0x1VPHabcC7LF4nHoLvp5QfoT6Q= X-Received: by 10.202.95.215 with SMTP id t206mr5572196oib.264.1520877312380; Mon, 12 Mar 2018 10:55:12 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:1193:0:0:0:0:0 with HTTP; Mon, 12 Mar 2018 10:54:51 -0700 (PDT) In-Reply-To: References: From: August Guang Date: Mon, 12 Mar 2018 13:54:51 -0400 Message-ID: To: SeqAn Development Content-Type: multipart/alternative; boundary="001a113cd072f395d905673ad730" X-Originating-IP: 209.85.218.45 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1520877316-000005A1-C7AAD958/0/0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000653, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-0.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_PASS,URIBL_BLOCKED X-Spam-Checker-Version: SpamAssassin 3.4.1 on Kiribati.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] seqan-dev Digest, Vol 86, Issue 1 X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Mar 2018 17:55:18 -0000 --001a113cd072f395d905673ad730 Content-Type: text/plain; charset="UTF-8" Thank you very much for the offer to help. I have removed the (a)synchronous I/O and also do not define _getOFlag, open and openTemp in if __MINGW32__ is the compiler. That solved that error with getuid, getgid, geteuid, getegid. Now I am getting this error (& 2 warnings): Error in re-building vignettes: ... from file4f341c236111.cpp:4: D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/mman.h: In function 'void* mmap(void*, size_t, int, int, int, off_t)': D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/mman.h:111:48: warning: right shift count >= width of type (DWORD)0 : (DWORD)((off >> 32) & 0xFFFFFFFFL); ^ D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/mman.h:120:52: warning: right shift count >= width of type (DWORD)0 : (DWORD)((maxSize >> 32) & 0xFFFFFFFFL); ^ In file included from D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/basic/basic_debug.h:52:0, from D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/basic.h:49, from D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/sequence.h:74, from D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/file.h:67, from file4f341c236111.cpp:4: D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/basic/debug_test_system.h: In function 'const char* seqan::ClassTest::tempFileName()': D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/basic/debug_test_system.h:712:38: error: 'mkstemp' was not declared in this scope int _tmp = mkstemp(fileNameBuffer); ^ make[1]: *** [file4f341c236111.o] Error 1 make[1]: Entering directory `/cygdrive/d/temp/RtmpIpQdGF/sourceCpp-x86_64-w64-mingw32-0.12.15/sourcecpp_4f34188a2d79' d:/Compiler/gcc-4.9.3/mingw_64/bin/g++ -m64 -I"D:/RCompile/recent/R/include" -DNDEBUG -I"D:/temp/RtmpS45h13/RLIBS_2258e843308/Rcpp/include" -I"D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include" -I"D:/temp/RtmpIpQdGF/sourceCpp-x86_64-w64-mingw32-0.12.15" -I"d:/Compiler/gcc-4.9.3/local330/include" -std=c++14 -pedantic -O2 -Wall -mtune=core2 -c file4f341c236111.cpp -o file4f341c236111.o make[1]: Leaving directory `/cygdrive/d/temp/RtmpIpQdGF/sourceCpp-x86_64-w64-mingw32-0.12.15/sourcecpp_4f34188a2d79' Most of the other errors from the mingw compiler I have been working on have been in this seqan/basic/debug_test_system.h file. Thanks, august On Tue, Mar 6, 2018 at 6:00 AM, wrote: > Send seqan-dev mailing list submissions to > seqan-dev@lists.fu-berlin.de > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.fu-berlin.de/listinfo/seqan-dev > or, via email, send a message with subject or body 'help' to > seqan-dev-request@lists.fu-berlin.de > > You can reach the person managing the list at > seqan-dev-owner@lists.fu-berlin.de > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of seqan-dev digest..." > > > Today's Topics: > > 1. Re: placing seqan headers into R package (August Guang) > 2. Re: placing seqan headers into R package (Rahn) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 5 Mar 2018 12:01:27 -0500 > From: August Guang > To: Hannes Hauswedell > Cc: SeqAn Development > Subject: Re: [Seqan-dev] placing seqan headers into R package > Message-ID: > gmail.com> > Content-Type: text/plain; charset="utf-8" > > Thanks, I have included the license file and a notice about citations now. > Will there be support for seqan/2.4 for mingw? I saw that there was on > older versions. The reason I'm asking is that R packages submitted to > Bioconductor/CRAN have to build and pass checks on Linux, OS and Windows, > but on Windows the packages are tested with the mingw compiler and I > haven't found a way around it. > > If not, would I be able to get some help with writing support for it? I > have been trying to address various issues specific to mingw but am not > familiar with Windows specific implementations and am getting way out of my > depth. So far I have added mman-win32 to replace sys/mman.h and changed > some enum values to not use posix_madvise. The current error I am trying to > tackle is the fact that getuid, geteuid, getgid and getegid are Unix-only. > It appears I can either write my own macros for them ( > https://stackoverflow.com/questions/1594746/win32-equivalent-of-getuid) or > install LibGW32 for them (http://gnuwin32.sourceforge. > net/packages/libgw32c.htm). Is there an option that would be better and can > I get some advice on how I would implement it? > > thanks, > august > > On Mon, Feb 26, 2018 at 7:49 AM, Hannes Hauswedell < > hannes.hauswedell@fu-berlin.de> wrote: > > > Am Donnerstag, 22. Februar 2018, 11:05:38 schrieb August Guang: > > > Hi, > > > > > > I would like to package the SeqAn headers for easy use in a few R > > packages > > > I will be writing with my team, the Computational Biology Core at Brown > > > University in the US. Would this be ok with you all? I am leaving the > > > license as BSD 3 clause as well, and if you would like to make any > > > additions to the license please let me know. > > > > > > You can view the current state of the repository here: > > > https://github.com/compbiocore/RSeqAn > > > > > > Thanks, > > > august > > > > Dear August, > > > > that's great to hear, feel very free to include it in your package. As > > long as > > the LICENSE file is shipped with the package there is no problem. Please > > also > > include a link to www.seqan.de in your documentation and if possible > also > > the > > following note: > > "Please do not forget to cite SeqAn if you use this package in your > > acedemic > > work, even if only in auxiliary tools or pipelines: > > https://doi.org/10.1016/j.jbiotec.2017.07.017" > > > > That would be great! > > > > Thank you, > > Hannes > > -- > > Hannes Hauswedell > > > > Scientific staff & PhD candidate > > Freie Universit?t Berlin / Max Planck Institute for Molecular Genetics > > > > address Institut f?r Informatik > > Takustra?e 9 > > Room 019 > > 14195 Berlin > > telephone +49 (0)30 838-75241 > > fax +49 (0)30 838-75218 > > e-mail hannes.hauswedell@fu-berlin.de > > > > > > -- > August Guang > > HMC Class of 2012 > Mathematics > > Brown University > Applied Mathematics > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: 20180305/227a1105/attachment.html> > > ------------------------------ > > Message: 2 > Date: Tue, 06 Mar 2018 09:58:14 +0100 > From: Rahn, Ren? > To: SeqAn Development > Subject: Re: [Seqan-dev] placing seqan headers into R package > Message-ID: > Content-Type: text/plain; charset="utf-8" > > Hi August, > > many thanks for your efforts. I am afraid, that this is actually quite a > challenge you are trying here. > We once had support for MinGW, but it caused more problems than bringing > any benefit. Hence we removed the support from it, also given by the fact > that there was always a free version of Visual Studio available. > Of course, if you are eager to tackle this you will get support from us. > But honestly, we need to really check if we can add this into the core > library if it will even work. > Please note, that there will be only patch level releases left for the 2.x > cycle. So having this MinGW port in a separate repository could be a > convenient way for both sides. > > We are currently working on SeqAn 3 and this will be no compatible with > SeqAn 2 and requires c++17/20. I am afraid this will be a stopper for MinGW > for quite some time. > But, I think if Windows comes with a linux subsystem these days it could > be worth it to check if R might package using standard linux on Windows > anyway in the future (Not sure if they have it on their wishlist already). > > However, we are still happy to assist you to try out minGW compiler. > Please let us know the compiler errors you receive, and the invoked build > command, so we can have a closer look on our side. > For the respective error you are receiving, it seems the only place that > is using it is the header and some other headers > doing some forward declaration of it. > As far as I am concerned, this is old code and does not really need to be > shipped in your project. So you could wrap it into macros, that if MinGW is > used these code paths are not evaluated. > We have a virtual stream class now, which is a better alternative for the > File class. > Anyhow, I couldn't find any place where we directly use File > for (a)synchronous I/O so it would be safe to remove for the R port. > > Let me know if there is anything more, but please bear in mind, that we > are quite busy right now, and it could take a while for us to respond with > a proper solution. > Especially in the next two weeks ;) > > Best, > > Ren? > > > On 5. Mar 2018, at 18:01, August Guang august.guang@gmail.com>> wrote: > > Thanks, I have included the license file and a notice about citations now. > Will there be support for seqan/2.4 for mingw? I saw that there was on > older versions. The reason I'm asking is that R packages submitted to > Bioconductor/CRAN have to build and pass checks on Linux, OS and Windows, > but on Windows the packages are tested with the mingw compiler and I > haven't found a way around it. > > If not, would I be able to get some help with writing support for it? I > have been trying to address various issues specific to mingw but am not > familiar with Windows specific implementations and am getting way out of my > depth. So far I have added mman-win32 to replace sys/mman.h and changed > some enum values to not use posix_madvise. The current error I am trying to > tackle is the fact that getuid, geteuid, getgid and getegid are Unix-only. > It appears I can either write my own macros for them ( > https://stackoverflow.com/questions/1594746/win32-equivalent-of-getuid) > or install LibGW32 for them (http://gnuwin32.sourceforge.n > et/packages/libgw32c.htm). Is there an option that would be better and > can I get some advice on how I would implement it? > > thanks, > august > > On Mon, Feb 26, 2018 at 7:49 AM, Hannes Hauswedell < > hannes.hauswedell@fu-berlin.de> > wrote: > Am Donnerstag, 22. Februar 2018, 11:05:38 schrieb August Guang: > > Hi, > > > > I would like to package the SeqAn headers for easy use in a few R > packages > > I will be writing with my team, the Computational Biology Core at Brown > > University in the US. Would this be ok with you all? I am leaving the > > license as BSD 3 clause as well, and if you would like to make any > > additions to the license please let me know. > > > > You can view the current state of the repository here: > > https://github.com/compbiocore/RSeqAn > > > > Thanks, > > august > > Dear August, > > that's great to hear, feel very free to include it in your package. As > long as > the LICENSE file is shipped with the package there is no problem. Please > also > include a link to www.seqan.de in your > documentation and if possible also the > following note: > "Please do not forget to cite SeqAn if you use this package in your > acedemic > work, even if only in auxiliary tools or pipelines: > https://doi.org/10.1016/j.jbiotec.2017.07.017" > > That would be great! > > Thank you, > Hannes > -- > Hannes Hauswedell > > Scientific staff & PhD candidate > Freie Universit?t Berlin / Max Planck Institute for Molecular Genetics > > address Institut f?r Informatik > Takustra?e 9 > Room 019 > 14195 Berlin > telephone +49 (0)30 838-75241 > fax +49 (0)30 838-75218 > e-mail hannes.hauswedell@fu-berlin.de erlin.de> > > > > -- > August Guang > > HMC Class of 2012 > Mathematics > > Brown University > Applied Mathematics > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev > > --- > > Ren? Rahn > Ph.D. Student (de.NBI - CIBI) > -------------------------------- > Tel: (+49) 30 838 72974 > Mail: rene.rahn@fu-berlin.de > -------------------------------- > Institute of Computer Science > Algorithmic Bioinformatics (ABI) > -------------------------------- > Freie Universit?t Berlin > Takustra?e 9 > 14195 Berlin > -------------------------------- > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: 20180306/22e596ef/attachment.html> > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > seqan-dev mailing list > seqan-dev@lists.fu-berlin.de > https://lists.fu-berlin.de/listinfo/seqan-dev > > > ------------------------------ > > End of seqan-dev Digest, Vol 86, Issue 1 > **************************************** > -- August Guang HMC Class of 2012 Mathematics Brown University Applied Mathematics --001a113cd072f395d905673ad730 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thank you very much for th= e offer to help.

I have removed the (a)synchronous I/O an= d also do not define _getOFlag, open and openTemp in <seqan/system/file_= sync.h> if __MINGW32__ is the compiler. That solved that error with getu= id, getgid, geteuid, getegid.
<= br>
Now I am getting this error= (& 2 warnings):
Error in re-building vignettes:
  ...
                 from file4f341c236111.cpp:4:
D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/mman.h:=
 In function 'void* mmap(void*, size_t, int, int, int, off_t)':
D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/mman.h:=
111:48: warning: right shift count >=3D width of type
                     (DWORD)0 : (DWORD)((off >> 32) & 0xFFFFFFFFL=
);
                                                ^
D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/mman.h:=
120:52: warning: right shift count >=3D width of type
                     (DWORD)0 : (DWORD)((maxSize >> 32) & 0xFFFFF=
FFFL);
                                                    ^
In file included from D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/incl=
ude/seqan/basic/basic_debug.h:52:0,
                 from D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/incl=
ude/seqan/basic.h:49,
                 from D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/incl=
ude/seqan/sequence.h:74,
                 from D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/incl=
ude/seqan/file.h:67,
                 from file4f341c236111.cpp:4:
D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/basic/d=
ebug_test_system.h: In function 'const char* seqan::ClassTest::tempFileName()':
D:/temp/RtmpS45h13/RLIBS_2258e843308/RSeqAn/include/seqan/basic/d=
ebug_test_system.h:712:38: error: 'mkstemp' was not declared i=
n this scope
     int _tmp =3D mkstemp(fileNameBuffer);
                                      ^
make[1]: *** [file4f341c236111.o] Error 1
make[1]: Entering directory `/cygdrive/d/temp/RtmpIpQdGF/sourceCpp-x86=
_64-w64-mingw32-0.12.15/sourcecpp_4f34188a2d79'
d:/Compiler/gcc-4.9.3/mingw_64/bin/g++ -m64 -I"D:/RCompile/recent=
/R/include" -DNDEBUG   -I"D:/temp/RtmpS45h13/RLIBS_2258=
e843308/Rcpp/include" -I"D:/temp/RtmpS45h13/RLIBS_2258e84330=
8/RSeqAn/include" -I"D:/temp/RtmpIpQdGF/sourceCpp-x86_64-w64=
-mingw32-0.12.15"   -I"d:/Compiler/gcc-4.9.3/local330/i=
nclude"  -std=3Dc++14   -pedantic -O2 -Wall  -mtune=3Dcore2 -c file4f3=
41c236111.cpp -o file4f341c236111.o
make[1]: Leaving directory `/cygdrive/d/temp/RtmpIpQdGF/sourceCpp-x86_=
64-w64-mingw32-0.12.15/sourcecpp_4f34188a2d79'
Mos= t of the other errors from the mingw compiler I have been working on have b= een in this seqan/basic/debug_test_system.h file.

Thanks,=
august

On Tue, Mar 6, 2018 at 6:00= AM, <seqan-dev-request@lists.fu-berlin.de>= ; wrote:
Send s= eqan-dev mailing list submissions to
=C2=A0 =C2=A0 =C2=A0 =C2=A0 seqan-dev@lists.fu-berlin.de

To subscribe or unsubscribe via the World Wide Web, visit
=C2=A0 =C2=A0 =C2=A0 =C2=A0 https://lists.fu-berlin.de/= listinfo/seqan-dev
or, via email, send a message with subject or body 'help' to
=C2=A0 =C2=A0 =C2=A0 =C2=A0 seqan-dev-request@lists.fu-berlin.de
You can reach the person managing the list at
=C2=A0 =C2=A0 =C2=A0 =C2=A0 seqan-dev-owner@lists.fu-berlin.de

When replying, please edit your Subject line so it is more specific
than "Re: Contents of seqan-dev digest..."


Today's Topics:

=C2=A0 =C2=A01. Re: placing seqan headers into R package (August Guang)
=C2=A0 =C2=A02. Re: placing seqan headers into R package (Rahn)


-----------------------------------------------------------------= -----

Message: 1
Date: Mon, 5 Mar 2018 12:01:27 -0500
From: August Guang <august.guang@gmail.com>
To: Hannes Hauswedell <hannes.hauswedell@fu-berlin.de>
Cc: SeqAn Development <seqan-dev@lists.fu-berlin.de>
Subject: Re: [Seqan-dev] placing seqan headers into R package
Message-ID:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <CAA=3D4tE_KQ4_u+= TwOWRp3ofaKC7nomMKApSJCrCNi3bHbv82vEg@mail.gmail.com>
Content-Type: text/plain; charset=3D"utf-8"

Thanks, I have included the license file and a notice about citations now.<= br> Will there be support for seqan/2.4 for mingw? I saw that there was on
older versions. The reason I'm asking is that R packages submitted to Bioconductor/CRAN have to build and pass checks on Linux, OS and Windows, but on Windows the packages are tested with the mingw compiler and I
haven't found a way around it.

If not, would I be able to get some help with writing support for it? I
have been trying to address various issues specific to mingw but am not
familiar with Windows specific implementations and am getting way out of my=
depth. So far I have added mman-win32 to replace sys/mman.h and changed
some enum values to not use posix_madvise. The current error I am trying to=
tackle is the fact that getuid, geteuid, getgid and getegid are Unix-only.<= br> It appears I can either write my own macros for them (
https://stackoverflow.com/ques= tions/1594746/win32-equivalent-of-getuid) or
install LibGW32 for them (http://gnuwin32.sourceforge.
net/packages/libgw32c.htm). Is there an option that would be better and can=
I get some advice on how I would implement it?

thanks,
august

On Mon, Feb 26, 2018 at 7:49 AM, Hannes Hauswedell <
hannes.= hauswedell@fu-berlin.de> wrote:

> Am Donnerstag, 22. Februar 2018, 11:05:38 schrieb August Guang:
> > Hi,
> >
> > I would like to package the SeqAn headers for easy use in a few R=
> packages
> > I will be writing with my team, the Computational Biology Core at= Brown
> > University in the US. Would this be ok with you all? I am leaving= the
> > license as BSD 3 clause as well, and if you would like to make an= y
> > additions to the license please let me know.
> >
> > You can view the current state of the repository here:
> > https://github.com/compbiocore/RSeqAn
> >
> > Thanks,
> > august
>
> Dear August,
>
> that's great to hear, feel very free to include it in your package= . As
> long as
> the LICENSE file is shipped with the package there is no problem. Plea= se
> also
> include a link to www.seqan.de in your documentation and if possible als= o
> the
> following note:
> "Please do not forget to cite SeqAn if you use this package in yo= ur
> acedemic
> work, even if only in auxiliary tools or pipelines:
> https://doi.org/10.1016/j.jbiotec.2017.07.017= "
>
> That would be great!
>
> Thank you,
> Hannes
> --
> Hannes Hauswedell
>
> Scientific staff & PhD candidate
> Freie Universit?t Berlin / Max Planck Institute for Molecular Genetics=
>
> address=C2=A0 =C2=A0 =C2=A0Institut f?r Informatik
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Takustra?e 9
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Room 019
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A014195 Berlin
> telephone=C2=A0 =C2=A0+49 (0)30 838-75241
> fax=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0+49 (0)30 838-75218<= /a>
> e-mail=C2=A0 =C2=A0 =C2=A0
hannes.hauswedell@fu-berlin.de
>



--
August Guang

HMC Class of 2012
Mathematics

Brown University
Applied Mathematics
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fu-berlin.de/pipermail/seqan-dev/attachments/20180= 305/227a1105/attachment.html>

------------------------------

Message: 2
Date: Tue, 06 Mar 2018 09:58:14 +0100
From: Rahn, Ren? <Rene.Rahn@fu-berlin.de>
To: SeqAn Development <seqan-dev@lists.fu-berlin.de>
Subject: Re: [Seqan-dev] placing seqan headers into R package
Message-ID: <E2BF2B0D-45A6-493F-B73B-F51FF1DD3904@fu-be= rlin.de>
Content-Type: text/plain; charset=3D"utf-8"

Hi August,

many thanks for your efforts. I am afraid, that this is actually quite a ch= allenge you are trying here.
We once had support for MinGW, but it caused more problems than bringing an= y benefit. Hence we removed the support from it, also given by the fact tha= t there was always a free version of Visual Studio available.
Of course, if you are eager to tackle this you will get support from us. Bu= t honestly, we need to really check if we can add this into the core librar= y if it will even work.
Please note, that there will be only patch level releases left for the 2.x = cycle. So having this MinGW port in a separate repository could be a conven= ient way for both sides.

We are currently working on SeqAn 3 and this will be no compatible with Seq= An 2 and requires c++17/20. I am afraid this will be a stopper for MinGW fo= r quite some time.
But, I think if Windows comes with a linux subsystem these days it could be= worth it to check if R might=C2=A0 package using standard linux on Windows= anyway in the future (Not sure if they have it on their wishlist already).=

However, we are still happy to assist you to try out minGW compiler. Please= let us know the compiler errors you receive, and the invoked build command= , so we can have a closer look on our side.
For the respective error you are receiving, it seems the only place that is= using it is the <seqan/system/file_sync.h> header and some other hea= ders doing some forward declaration of it.
As far as I am concerned, this is old code and does not really need to be s= hipped in your project. So you could wrap it into macros, that if MinGW is = used these code paths are not evaluated.
We have a virtual stream class now, which is a better alternative for the F= ile class.
Anyhow, I couldn't find any place where we directly use File<Sync|As= ync> for (a)synchronous I/O so it would be safe to remove for the R port= .

Let me know if there is anything more, but please bear in mind, that we are= quite busy right now, and it could take a while for us to respond with a p= roper solution.
Especially in the next two weeks ;)

Best,

Ren?


On 5. Mar 2018, at 18:01, August Guang <august.guang@gmail.com<mailto:august.guang@gmail.c= om>> wrote:

Thanks, I have included the license file and a notice about citations now. = Will there be support for seqan/2.4 for mingw? I saw that there was on olde= r versions. The reason I'm asking is that R packages submitted to Bioco= nductor/CRAN have to build and pass checks on Linux, OS and Windows, but on= Windows the packages are tested with the mingw compiler and I haven't = found a way around it.

If not, would I be able to get some help with writing support for it? I hav= e been trying to address various issues specific to mingw but am not famili= ar with Windows specific implementations and am getting way out of my depth= . So far I have added mman-win32 to replace sys/mman.h and changed some enu= m values to not use posix_madvise. The current error I am trying to tackle = is the fact that getuid, geteuid, getgid and getegid are Unix-only. It appe= ars I can either write my own macros for them (https://stackoverflow.com/questions/1594746/win32-equ= ivalent-of-getuid) or install LibGW32 for them (http://gnuwin32.sourceforge.net/packages/libgw32c.htm)= . Is there an option that would be better and can I get some advice on how = I would implement it?

thanks,
august

On Mon, Feb 26, 2018 at 7:49 AM, Hannes Hauswedell <hannes.hauswedell@fu-berlin= .de<mailto:hannes.hauswedell@fu-berlin.de>> wrote:
Am Donnerstag, 22. Februar 2018, 11:05:38 schrieb August Guang:
> Hi,
>
> I would like to package the SeqAn headers for easy use in a few R pack= ages
> I will be writing with my team, the Computational Biology Core at Brow= n
> University in the US. Would this be ok with you all? I am leaving the<= br> > license as BSD 3 clause as well, and if you would like to make any
> additions to the license please let me know.
>
> You can view the current state of the repository here:
> https://github.com/compbiocore/RSeqAn
>
> Thanks,
> august

Dear August,

that's great to hear, feel very free to include it in your package. As = long as
the LICENSE file is shipped with the package there is no problem. Please al= so
include a link to www.seqan.de<http://www.seqan.de/> in your docume= ntation and if possible also the
following note:
"Please do not forget to cite SeqAn if you use this package in your ac= edemic
work, even if only in auxiliary tools or pipelines:
https://doi.org/10.1016/j.jbiotec.2017.07.017&= quot;

That would be great!

Thank you,
Hannes
--
Hannes Hauswedell

Scientific staff & PhD candidate
Freie Universit?t Berlin / Max Planck Institute for Molecular Genetics

address=C2=A0 =C2=A0 =C2=A0Institut f?r Informatik
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Takustra?e 9
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Room 019
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 14195 Berlin
telephone=C2=A0 =C2=A0+49 (0)30 838-75241<tel:%2B49%2= 0%280%2930%20838-75241>
fax=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0+49 (0)30 838-75218&l= t;tel:%2B49%20%280%2930%20838-75218>
e-mail=C2=A0 =C2=A0 =C2=A0 hannes.hauswedell@fu-berlin.de<mailto:hannes.hausw= edell@fu-berlin.de>



--
August Guang

HMC Class of 2012
Mathematics

Brown University
Applied Mathematics
_______________________________________________
seqan-dev mailing list
seqan-dev= @lists.fu-berlin.de<mailto:seqan-dev@lists.fu-berlin.de>
https://lists.fu-berlin.de/listinfo/seqan-dev<= br>
---

Ren? Rahn
Ph.D. Student (de.NBI - CIBI)
--------------------------------
Tel:=C2=A0 (+49) 30 838 72974
Mail: rene.rahn= @fu-berlin.de<mailto:rene.rahn@fu-berlin.de>
--------------------------------
Institute of Computer Science
Algorithmic Bioinformatics (ABI)
--------------------------------
Freie Universit?t Berlin
Takustra?e 9
14195 Berlin
--------------------------------

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fu-berlin.de/pipermail/seqan-dev/attachments/20180= 306/22e596ef/attachment.html>

------------------------------

Subject: Digest Footer

_______________________________________________
seqan-dev mailing list
seqan-dev= @lists.fu-berlin.de
https://lists.fu-berlin.de/listinfo/seqan-dev<= br>

------------------------------

End of seqan-dev Digest, Vol 86, Issue 1
****************************************



--
August Gu= ang

HMC Class of 2012
Mathematics

Brown University
Applied Mathematics
--001a113cd072f395d905673ad730-- From sacha@labsquare.org Fri Mar 16 15:12:19 2018 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1ewq5i-000eDp-Of>; Fri, 16 Mar 2018 15:12:18 +0100 Received: from mail-qk0-f172.google.com ([209.85.220.172]) by relay1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:AES128-GCM-SHA256:128) (envelope-from ) id <1ewq5i-003fIB-HY>; Fri, 16 Mar 2018 15:12:18 +0100 Received: by mail-qk0-f172.google.com with SMTP id z184so11155717qkc.1 for ; Fri, 16 Mar 2018 07:12:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=labsquare-org.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=1jwCNRDZAMj/OcB2gvKN3psXLv30+bFXlIyRqtEFmk4=; b=b0izEDitdDYAQJdyl5iIe1C9UXB6AEg7Iz9Qu4O5A+6tu5Qo4X36ddtm2zClY4pyGq w/6k6+HkTSNkvZNai+g5OreiN7lrCwcEIDr/3ksp+i1Jpsvmya1GatFO0ZL0zduvMXFV +RZBzH+iU7mgtRcDrOcBOk67qRhJIKU6Gspn2tPI+Nf+RvE3OJM+04xJEwS1RkVFqGIT TTUkk9a+zdvzTjk/liODzMZkTq6Mm6oxklkSXncdKwus3FvKqtv+Sh+e4ofp6ch3M8gx Zcrqt3gL3DWmMtKLuowCdD9GiqSAknET/MC8tNyGfrrT3HobYMxQyvE6fSRgZ1cCE3i0 3fRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1jwCNRDZAMj/OcB2gvKN3psXLv30+bFXlIyRqtEFmk4=; b=EInh786xb4xuOwWOyA8UHfiwmEsVpzingVFhtviIeA+71an3hFC9tWYFcI4yZnMJ+4 lSECUlG3dgP3atOopvAIg3f8BUGyj8xL5lLsTiLyN5792PZr6mCv4l4YN/M/V+XEPHJV jEN6AaLtASGed6hG0RS+x2YO4er93Xn+A2b7dUAvUkto8wTy5nSqhZpX4RqsIWjZkAtQ p8c31RIyYn6ivq1/O0uxNtRHMAmcrcEwOmL2d9dqFn9BUMamMLUzF9JIJIJhhjhSLAHz mw2EiRHo6qtM7Fpyki7LLN7/xGtJfFeDTrCQV7c3HaEasRwY6H/Bolf2ghfFZDXF+0tW 7IvA== X-Gm-Message-State: AElRT7EbW8OgVEByrxeew3YMgDYImc5wkPKrjTOiuh3De2wMjgD1wE+s kOT4dIv+nZeNJ4FLBJgoHF+hcdZwRmv+vFCxpmbfG0aG X-Google-Smtp-Source: AG47ELvJyKE57OqrP87agoWFYFRZUuZbrhZfzFfRPUhaWgBCtXYnEpXCNW06sl4OD5Y+PNXbjSbngDSxsZmxN9gSWUA= X-Received: by 10.55.99.88 with SMTP id x85mr2865769qkb.142.1521209536045; Fri, 16 Mar 2018 07:12:16 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.179.17 with HTTP; Fri, 16 Mar 2018 07:12:15 -0700 (PDT) From: labsquare Date: Fri, 16 Mar 2018 15:12:15 +0100 Message-ID: To: seqan-dev@lists.fu-berlin.de Content-Type: multipart/alternative; boundary="94eb2c05b4480676f00567883275" X-Originating-IP: 209.85.220.172 X-Original-X-Originating-IP: [129.20.164.59] X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1521209538-000005A1-62C65992/0/0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.034058, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=0.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,URIBL_BLOCKED X-Spam-Checker-Version: SpamAssassin 3.4.1 on Tokelau.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: [Seqan-dev] =?utf-8?q?conversion_t=C3=A0_std=3A=3Astring?= X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Mar 2018 14:12:19 -0000 --94eb2c05b4480676f00567883275 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I would like to convert seqan String to std::string or QString ... unsucessfully. could you help me ? I don't understand . seqan::toCString is supposed to return char * with std : seqan::readRecord(record, bamFileIn); std::string test1 =3D seqan::toCString(record.seq); with Qt : QString test2 =3D QString::fromLocal8Bit(seqan:: toCString(record.seq)); error : ../bamviewer-poc/bamviewer.cpp:147:45: error: conversion from =E2=80=98seqan::SimpleType*=E2=80=99 to non-s= calar type =E2=80=98std::__cxx11::string {aka std::__cxx11::basic_string}=E2=80= =99 requested std::string test1 =3D seqan::toCString(record.seq); --=20 --=20 Dr Sacha Schutz m=C3=A9decine / g=C3=A9n=C3=A9tique mol=C3=A9culaire Bioinformaticien +33651571606 dridk.me www.labsquare.org Fork me on github --94eb2c05b4480676f00567883275 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I would like to convert seqan S= tring to std::string or QString ... unsucessfully.=C2=A0
could= you help=C2=A0 me ?=C2=A0 I don't understand . seqan::toCString is sup= posed to return char *

with std :=C2=A0
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 seqan::readRecord(record, bamFileIn); =C2=A0 =C2= =A0 =C2=A0 =C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 std::string test1 =3D seqa= n::toCString(record.seq);


with Qt :=C2=A0
<= div>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 QString test2 =3D QString::fromLo= cal8Bit(seqan::toCString(record.seq));

error :=C2= =A0

../bamviewer-poc/bamviewer.cpp:147:45: error: conversion from =E2=80= =98seqan::SimpleType<unsigned char, seqan::Iupac_>*=E2=80=99 to non-s= calar type =E2=80=98std::__cxx11::string {aka std::__cxx11::basic_string<= ;char>}=E2=80=99 requested

std::string test1 =3D seqan::toCString(record.seq);<= /span>


--
--
D= r Sacha Schutz
m=C3=A9decine= / g=C3=A9n=C3=A9tique mol=C3=A9culaire
Bioinformaticien
<= /div>
--94eb2c05b4480676f00567883275-- From info@lucasvandijk.nl Fri Mar 16 21:40:14 2018 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1eww97-0019FD-OT>; Fri, 16 Mar 2018 21:40:13 +0100 Received: from mail-qk0-f181.google.com ([209.85.220.181]) by relay1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:AES128-GCM-SHA256:128) (envelope-from ) id <1eww97-000l5A-GL>; Fri, 16 Mar 2018 21:40:13 +0100 Received: by mail-qk0-f181.google.com with SMTP id d206so12453817qkb.3 for ; Fri, 16 Mar 2018 13:40:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lucasvandijk-nl.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=iXmT6xFrmOMYLaB32Jqg/hSFSEkGnura6du1BzhmXU0=; b=Wr11pUPWjV4xouxs18yKP0cjSqLTL1Wnl1nxLQ8AM3rWVoky3wQ6FM2r+XXE4qf5oY 9bGv+Ug87YKR5k2U62ZSfCpqRlRZ1gdbNUspvjYB4liPY+9LzRGUfzdtNyY7RB0ItAi7 QHP8Cij6KeIa7ayQgaIL6On8Rc9u1Y2mmaTya7jwj1sQxNZkp8v6LjIejB/a2zUJhcK1 PmKCSM+ig3wBYTZUweM9SbjBptAdRQ7kFFZMg2gL2fMle/84FW6kjj4x0pjigKPJGxBM 14vPYC3L3AXjxZPAmxkH1ky/3948NDqLFLd/L1OQ0k8FObmOURlgO39akDy8lK+EbuiE C/NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=iXmT6xFrmOMYLaB32Jqg/hSFSEkGnura6du1BzhmXU0=; b=IKbNy2ZGUL66FQ04CbNy9VcLfPil6mGeTA9WI0ITPW8T96ogUtT9V0Z2skj6kz2QP9 wZqDgEs6KmVytT6i8NoyQ5Rs2N+17uMYV4Dl5AKIEnMpWrdgOhqJTHDqtzO3YKwAoW2L hvgjncnAbum4GsCurX7DbEShCq6dJj1557DeF9Kx96avTv0M/6kDrE6tzKaN5QtBAy7n jwN0i10G1/1pwPrZ9Z8GX74Vi1eD/shmBvAJ4rztCzp9Tq2NWEgwYKBB9pQeMWhS1PE2 ukUIFoINRLHBjoFP/cYh49vawlJLspd8N4Bk+B9pGOa4C02tlxm/xO11OsqgamwLY9JA b0/A== X-Gm-Message-State: AElRT7FAe2wFnvrO7PYO24acEoupd+Nh8zg1rpgQKSGA8ApeEKEDJn2r mrSLf7GQJyLvWP0zXLYyASGmBRhyhPvBc2nENpz/p/hr X-Google-Smtp-Source: AG47ELsuuHvWjzdeHUGDPfDjsrngXpKIJup+M3wr+7S2fxoiDn2+YVYZi6D5F51WFnyo2UC84ZTT6mNK6c/U3y1gD78= X-Received: by 10.55.98.70 with SMTP id w67mr4633527qkb.278.1521232810763; Fri, 16 Mar 2018 13:40:10 -0700 (PDT) MIME-Version: 1.0 From: Lucas van Dijk Date: Fri, 16 Mar 2018 20:40:00 +0000 Message-ID: To: "seqan-dev@lists.fu-berlin.de" Content-Type: multipart/alternative; boundary="94eb2c0578344e7a4205678d9dea" X-Originating-IP: 209.85.220.181 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1521232813-000005A1-C77EB503/0/0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.400522, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-0.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, URIBL_BLOCKED X-Spam-Checker-Version: SpamAssassin 3.4.1 on Niue.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: [Seqan-dev] Saving an index for StringSet to disk: lots of files X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Mar 2018 20:40:14 -0000 --94eb2c0578344e7a4205678d9dea Content-Type: text/plain; charset="UTF-8" Hi all, I'm trying to build a simple (short) read filter: given a list of k-mers, keep only reads that contains at least one of the given k-mers. This will be used to analyse the behaviour of a tool we're working on. It doesn't need to be super memory efficient, it'll mostly be a debugging tool. My strategy was to use SeqAn and built a suffix array index for the StringSet of reads, and quickly enumerate which reads contain a given k-mer. I got a simple prototype working that reads the whole FASTQ file in memory as StringSet, and then build an Index, IndexSa<>>. Because I want to filter the original FASTQ file multiple times with different sets of k-mers, I thought it would be a good idea to store the index on disk, to be re-used next time. In addition to the main ".sa" file, however, it creates an incredible amount of files with pattern "*.txt.NUM". I suspect a separate file for every sequence in the FASTQ file. These files are very small too: smaller than 1kb (probably because these are short reads). This amount of files really slows down simple operations like `ls`, plus it's really messy. Furthermore, this was just a relatively small test FASTQ file. If my assumption that a separate file is created for every sequence in the FASTQ file is true, then using this approach for higher coverage samples with many more sequences will not be usable. I feel I will hit some file system limit on the number of files, especially if I have multiple FASTQ samples in the same directory. Can this behaviour be changed? Why isn't everything stored in a single ".sa" file? Current source code for reference: https://github.com/lrvdijk/read-filter Kind regards, Lucas --94eb2c0578344e7a4205678d9dea Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi all,

I'm trying=20 to build a simple (short) read filter: given a list of k-mers, keep only reads that contains at least one of the given k-mers. This will be used to analyse the behaviour of a tool we're working on. It doesn't ne= ed to be super memory efficient, it'll mostly be a debugging tool.

<= /div>My strategy was to use SeqAn and built a suffix array index for the=20 StringSet of reads, and quickly enumerate which reads contain a given=20 k-mer. I got a simple prototype working that reads the whole FASTQ file=20 in memory as StringSet, and then build an=20 Index<StringSet<Dna5String>, IndexSa<>>.

Bec= ause I want to filter the original FASTQ file multiple times with different=20 sets of k-mers, I thought it would be a good idea to store the index on=20 disk, to be re-used next time. In addition to the main ".sa" file= ,=20 however, it creates an incredible amount of files with pattern=20 "*.txt.NUM". I suspect a separate file for every sequence in the = FASTQ=20 file. These files are very small too: smaller than 1kb (probably because these are short reads). This amount of files really slows down simple=20 operations like `ls`, plus it's really messy.

Furthermore= , this was just a relatively small test FASTQ file. If my assumption that a separate file is created for every sequence in the FASTQ file is=20 true, then using this approach for higher coverage samples with many=20 more sequences will not be usable. I feel I will hit some file system=20 limit on the number of files, especially if I have multiple FASTQ=20 samples in the same directory.

Can this behaviour be changed? = Why isn't everything stored in a single ".sa" file?

Current source code for reference:
https://github.com/lrvdijk/read-filter<= /a>

Kind regards,
Lucas
--94eb2c0578344e7a4205678d9dea-- From Rene.Rahn@fu-berlin.de Wed Mar 21 10:13:58 2018 Received: from outpost9.zedat.fu-berlin.de ([130.133.4.95]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1eyZok-000aYa-6H>; Wed, 21 Mar 2018 10:13:58 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1eyZok-002HHC-2y>; Wed, 21 Mar 2018 10:13:58 +0100 Received: from cas1.campus.fu-berlin.de ([130.133.170.201]) by relay2.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1:AES256-SHA:256) (envelope-from ) id <1eyZoj-002xIp-Ru>; Wed, 21 Mar 2018 10:13:58 +0100 Received: from EX03A.campus.fu-berlin.de ([130.133.170.134]) by CAS1.campus.fu-berlin.de ([130.133.170.201]) with mapi id 14.03.0382.000; Wed, 21 Mar 2018 10:13:55 +0100 From: =?utf-8?B?UmFobiwgUmVuw6k=?= To: SeqAn Development Thread-Topic: =?utf-8?B?W1NlcWFuLWRldl0gY29udmVyc2lvbiB0w6Agc3RkOjpzdHJpbmc=?= Thread-Index: AQHTvTD+OdvlgspXT0uK2wdpS8I5UKPaXrmA Message-ID: <6A05FA5A-B2BA-431C-8CB9-5654FA9D1F6E@fu-berlin.de> References: In-Reply-To: Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: multipart/alternative; boundary="_000_6A05FA5AB2BA431C8CB95654FA9D1F6Efuberlinde_" MIME-Version: 1.0 Date: Wed, 21 Mar 2018 10:13:56 +0100 X-Original-Date: Wed, 21 Mar 2018 09:13:56 +0000 X-Originating-IP: 130.133.170.201 X-Original-X-Originating-IP: [130.133.170.206] X-ZEDAT-Hint: XA X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1521623638-000005A1-3C0FBE3E/0/0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.002403, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE, T_RP_MATCHES_RCVD,URIBL_BLOCKED X-Spam-Checker-Version: SpamAssassin 3.4.1 on Kiribati.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] =?utf-8?q?conversion_t=C3=A0_std=3A=3Astring?= X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Mar 2018 09:13:58 -0000 --_000_6A05FA5AB2BA431C8CB95654FA9D1F6Efuberlinde_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgU2FjaGEsDQoNCm91ciBzZXF1ZW5jZSBjb250YWluZXJzIGRvIG5vdCBvZmZlciBpbXBsaWNp dCBvciBleHBsaWNpdCBjb252ZXJzaW9uIHRvIFNUTCBjb250YWluZXJzLg0KQXQgbGVhc3Qgbm90 IHRoYXQgSSBhbSBhd2FyZSBvZi4NCkFsc28gdGhlIGNvbnZlcnNpb24gYnkgdG9DU3RyaW5nIGRv ZXMgbm90IGltcGx5IGEgY29udmVyc2lvbiB0byBjb25zdCBjaGFyICouDQpJdCBpcyBtZXJlbHkg YSBmdW5jdGlvbiB0byBhY2Nlc3MgdGhlIHVuZGVybHlpbmcgZGF0YSwgbGlrZSBzdGQ6OmRhdGEs IGJ1dCB3aXRoIGEga2luZCBvZiBjb25mdXNpbmcgbmFtaW5nLg0KSW4geW91ciBjYXNlLCB5b3Ug Y2FuIHNpbXBseSBjYWxsICB0aGUgcmFuZ2UgY29uc3RydWN0b3Igb2YgdGhlIHN0ZDo6c3RyaW5n IGNsYXNzOg0KDQpzdGQ6OnN0cmluZyB0ZXN0MXtiZWdpbihyZWNvcmQuc2VxLCBTdGFuZGFyZHt9 KSwgZW5ke3JlY29yZC5zZXEsIFN0YW5kYXJke319fTsNCg0KQWxzbyB3aGlsZSBkb2luZyB0aGlz LCB5b3UgbmVlZCB0byBiZSBzdXJlLCB0aGF0IHdoYXRldmVyIGlzIHN0b3JlZCBpbiB0aGUgc2Vx YW46OlN0cmluZyBpcyBhbHNvIGNvbnZlcnRpYmxlIHRvIHlvdXIgdGFyZ2V0IHR5cGUuIENvbnZl cnRpbmcgYSBzZXFhbiBhbHBoYWJldCB0byBjaGFyIGltcGxpY2l0bHkgaXMgZmluZSBpbiBTZXFB bjIuDQpCdXQgcGxlYXNlIGJlIGF3YXJlIG9mIHRoZSBmYWN0LCB0aGF0IGEgc2VxYW46OlN0cmlu ZyBpcyBtb3JlIGxpa2UgYSBzdGQ6OnZlY3RvciB0aGVuIHRoZSBzdGQ6OnN0cmluZy4NCg0KSSB3 b3VsZCBhbHNvIGxpa2UgdG8gYXNrIHlvdSB0byBmaWxlIGFuIGlzc3VlIG9uIG91ciBpc3N1ZSB0 cmFja2VyOiBodHRwczovL2dpdGh1Yi5jb20vc2VxYW4vc2VxYW4vaXNzdWVzIGluIHRoZSBmdXR1 cmUuDQoNCkkgaG9wZSB0aGlzIGhlbHBzLg0KDQpjaGVlcnMsDQoNClJlbsOpDQoNCk9uIDE2LiBN YXIgMjAxOCwgYXQgMTU6MTIsIGxhYnNxdWFyZSA8c2FjaGFAbGFic3F1YXJlLm9yZzxtYWlsdG86 c2FjaGFAbGFic3F1YXJlLm9yZz4+IHdyb3RlOg0KDQpJIHdvdWxkIGxpa2UgdG8gY29udmVydCBz ZXFhbiBTdHJpbmcgdG8gc3RkOjpzdHJpbmcgb3IgUVN0cmluZyAuLi4gdW5zdWNlc3NmdWxseS4N CmNvdWxkIHlvdSBoZWxwICBtZSA/ICBJIGRvbid0IHVuZGVyc3RhbmQgLiBzZXFhbjo6dG9DU3Ry aW5nIGlzIHN1cHBvc2VkIHRvIHJldHVybiBjaGFyICoNCg0Kd2l0aCBzdGQgOg0KICAgICAgICBz ZXFhbjo6cmVhZFJlY29yZChyZWNvcmQsIGJhbUZpbGVJbik7DQogICAgICAgIHN0ZDo6c3RyaW5n IHRlc3QxID0gc2VxYW46OnRvQ1N0cmluZyhyZWNvcmQuc2VxKTsNCg0KDQp3aXRoIFF0IDoNCg0K ICAgICAgICBRU3RyaW5nIHRlc3QyID0gUVN0cmluZzo6ZnJvbUxvY2FsOEJpdChzZXFhbjo6dG9D U3RyaW5nKHJlY29yZC5zZXEpKTsNCg0KZXJyb3IgOg0KLi4vYmFtdmlld2VyLXBvYy9iYW12aWV3 ZXIuY3BwOjE0Nzo0NTogZXJyb3I6IGNvbnZlcnNpb24gZnJvbSDigJhzZXFhbjo6U2ltcGxlVHlw ZTx1bnNpZ25lZCBjaGFyLCBzZXFhbjo6SXVwYWNfPirigJkgdG8gbm9uLXNjYWxhciB0eXBlIOKA mHN0ZDo6X19jeHgxMTo6c3RyaW5nIHtha2Egc3RkOjpfX2N4eDExOjpiYXNpY19zdHJpbmc8Y2hh cj594oCZIHJlcXVlc3RlZA0Kc3RkOjpzdHJpbmcgdGVzdDEgPSBzZXFhbjo6dG9DU3RyaW5nKHJl Y29yZC5zZXEpOw0KDQotLQ0KLS0NCkRyIFNhY2hhIFNjaHV0eg0KbcOpZGVjaW5lIC8gZ8OpbsOp dGlxdWUgbW9sw6ljdWxhaXJlDQpCaW9pbmZvcm1hdGljaWVuDQorMzM2NTE1NzE2MDYNCmRyaWRr Lm1lPGh0dHA6Ly9kcmlkay5tZS8+DQp3d3cubGFic3F1YXJlLm9yZyA8aHR0cDovL3d3dy5sYWJz cXVhcmUub3JnLz4NCkZvcmsgbWUgb24gZ2l0aHViPGh0dHBzOi8vZ2l0aHViLmNvbS8+DQoNCg0K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCnNlcWFuLWRl diBtYWlsaW5nIGxpc3QNCnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU8bWFpbHRvOnNlcWFu LWRldkBsaXN0cy5mdS1iZXJsaW4uZGU+DQpodHRwczovL2xpc3RzLmZ1LWJlcmxpbi5kZS9saXN0 aW5mby9zZXFhbi1kZXYNCg0KLS0tDQoNClJlbsOpIFJhaG4NClBoLkQuIFN0dWRlbnQgKGRlLk5C SSAtIENJQkkpDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGVsOiAgKCs0OSkg MzAgODM4IDcyOTc0DQpNYWlsOiByZW5lLnJhaG5AZnUtYmVybGluLmRlPG1haWx0bzpyZW5lLnJh aG5AZnUtYmVybGluLmRlPg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkluc3Rp dHV0ZSBvZiBDb21wdXRlciBTY2llbmNlDQpBbGdvcml0aG1pYyBCaW9pbmZvcm1hdGljcyAoQUJJ KQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZyZWllIFVuaXZlcnNpdMOkdCBC ZXJsaW4NClRha3VzdHJhw59lIDkNCjE0MTk1IEJlcmxpbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCg0K --_000_6A05FA5AB2BA431C8CB95654FA9D1F6Efuberlinde_ Content-Type: text/html; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KSGkgU2FjaGEsDQo8ZGl2IGNsYXNz PSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5vdXIgc2VxdWVuY2UgY29u dGFpbmVycyBkbyBub3Qgb2ZmZXIgaW1wbGljaXQgb3IgZXhwbGljaXQgY29udmVyc2lvbiB0byBT VEwgY29udGFpbmVycy48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+QXQgbGVhc3Qgbm90IHRoYXQgSSBh bSBhd2FyZSBvZi4mbmJzcDs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+QWxzbyB0aGUgY29udmVyc2lv biBieSB0b0NTdHJpbmcgZG9lcyBub3QgaW1wbHkgYSBjb252ZXJzaW9uIHRvIGNvbnN0IGNoYXIg Ki48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+SXQgaXMgbWVyZWx5IGEgZnVuY3Rpb24gdG8gYWNjZXNz IHRoZSB1bmRlcmx5aW5nIGRhdGEsIGxpa2Ugc3RkOjpkYXRhLCBidXQgd2l0aCBhIGtpbmQgb2Yg Y29uZnVzaW5nIG5hbWluZy4mbmJzcDs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+SW4geW91ciBjYXNl LCB5b3UgY2FuIHNpbXBseSBjYWxsICZuYnNwO3RoZSByYW5nZSBjb25zdHJ1Y3RvciBvZiB0aGUg c3RkOjpzdHJpbmcgY2xhc3M6PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwv ZGl2Pg0KPGRpdiBjbGFzcz0iIj5zdGQ6OnN0cmluZyB0ZXN0MXtiZWdpbihyZWNvcmQuc2VxLCBT dGFuZGFyZHt9KSwgZW5ke3JlY29yZC5zZXEsIFN0YW5kYXJke319fTs8L2Rpdj4NCjxkaXYgY2xh c3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkFsc28gd2hpbGUgZG9p bmcgdGhpcywgeW91IG5lZWQgdG8gYmUgc3VyZSwgdGhhdCB3aGF0ZXZlciBpcyBzdG9yZWQgaW4g dGhlIHNlcWFuOjpTdHJpbmcgaXMgYWxzbyBjb252ZXJ0aWJsZSB0byB5b3VyIHRhcmdldCB0eXBl LiBDb252ZXJ0aW5nIGEgc2VxYW4gYWxwaGFiZXQgdG8gY2hhciBpbXBsaWNpdGx5IGlzIGZpbmUg aW4gU2VxQW4yLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5CdXQgcGxlYXNlIGJlIGF3YXJlIG9mIHRo ZSBmYWN0LCB0aGF0IGEgc2VxYW46OlN0cmluZyBpcyBtb3JlIGxpa2UgYSBzdGQ6OnZlY3RvciB0 aGVuIHRoZSBzdGQ6OnN0cmluZy4mbmJzcDs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNz PSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkkgd291bGQgYWxzbyBsaWtlIHRvIGFzayB5b3Ug dG8gZmlsZSBhbiBpc3N1ZSBvbiBvdXIgaXNzdWUgdHJhY2tlcjoNCjxhIGhyZWY9Imh0dHBzOi8v Z2l0aHViLmNvbS9zZXFhbi9zZXFhbi9pc3N1ZXMiIGNsYXNzPSIiPmh0dHBzOi8vZ2l0aHViLmNv bS9zZXFhbi9zZXFhbi9pc3N1ZXM8L2E+Jm5ic3A7aW4gdGhlIGZ1dHVyZS48L2Rpdj4NCjxkaXYg Y2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkkgaG9wZSB0aGlz IGhlbHBzLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYg Y2xhc3M9IiI+Y2hlZXJzLDwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rp dj4NCjxkaXYgY2xhc3M9IiI+UmVuw6k8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIi Pg0KPGRpdiBjbGFzcz0iIj4NCjxkaXY+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBjbGFzcz0i Ij4NCjxkaXYgY2xhc3M9IiI+T24gMTYuIE1hciAyMDE4LCBhdCAxNToxMiwgbGFic3F1YXJlICZs dDs8YSBocmVmPSJtYWlsdG86c2FjaGFAbGFic3F1YXJlLm9yZyIgY2xhc3M9IiI+c2FjaGFAbGFi c3F1YXJlLm9yZzwvYT4mZ3Q7IHdyb3RlOjwvZGl2Pg0KPGJyIGNsYXNzPSJBcHBsZS1pbnRlcmNo YW5nZS1uZXdsaW5lIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGRpcj0ibHRyIiBjbGFzcz0iIj48 c3BhbiBzdHlsZT0iY29sb3I6cmdiKDM0LDM0LDM0KTtmb250LWZhbWlseTphcmlhbCxzYW5zLXNl cmlmO2ZvbnQtc2l6ZToxMi44cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50LWxpZ2F0 dXJlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0 ZXItc3BhY2luZzpub3JtYWw7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWluZGVudDowcHg7dGV4dC10 cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1zcGFjaW5nOjBweDtiYWNrZ3Jv dW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOmluaXRpYWw7 dGV4dC1kZWNvcmF0aW9uLWNvbG9yOmluaXRpYWw7ZmxvYXQ6bm9uZTtkaXNwbGF5OmlubGluZSIg Y2xhc3M9IiI+SQ0KIHdvdWxkIGxpa2UgdG8gY29udmVydCBzZXFhbiBTdHJpbmcgdG8gc3RkOjpz dHJpbmcgb3IgUVN0cmluZyAuLi4gdW5zdWNlc3NmdWxseS4mbmJzcDs8L3NwYW4+DQo8ZGl2IHN0 eWxlPSJjb2xvcjpyZ2IoMzQsMzQsMzQpO2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9u dC1zaXplOjEyLjhweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5v cm1hbDtmb250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFj aW5nOm5vcm1hbDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtaW5kZW50OjBweDt0ZXh0LXRyYW5zZm9y bTpub25lO3doaXRlLXNwYWNlOm5vcm1hbDt3b3JkLXNwYWNpbmc6MHB4O2JhY2tncm91bmQtY29s b3I6cmdiKDI1NSwyNTUsMjU1KTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRl Y29yYXRpb24tY29sb3I6aW5pdGlhbCIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPmNvdWxkIHlv dSBoZWxwJm5ic3A7IG1lID8mbmJzcDsgSSBkb24ndCB1bmRlcnN0YW5kIC4gc2VxYW46OnRvQ1N0 cmluZyBpcyBzdXBwb3NlZCB0byByZXR1cm4gY2hhciAqPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxi ciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj53aXRoIHN0ZCA6Jm5ic3A7PC9kaXY+ DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc2VxYW46OnJlYWRSZWNvcmQocmVjb3JkLCBi YW1GaWxlSW4pOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs8YnIgY2xhc3M9IiI+DQombmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgc3RkOjpzdHJpbmcgdGVzdDEgPSBzZXFhbjo6dG9DU3Ry aW5nKHJlY29yZC5zZXEpOzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9 IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPndpdGggUXQgOiZuYnNwOzwv ZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyBRU3RyaW5nIHRlc3QyID0gUVN0cmluZzo6ZnJvbUxvY2FsOEJpdChzZXFh bjo6PHdiciBjbGFzcz0iIj50b0NTdHJpbmcocmVjb3JkLnNlcSkpOzwvZGl2Pg0KPGRpdiBjbGFz cz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCmVycm9yIDombmJzcDs8YnIgY2xlYXI9ImFsbCIg Y2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBzdHlsZT0iY29sb3I6IHJnYigzNCwgMzQs IDM0KTsgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEyLjhweDsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub3JtYWw7IGZvbnQt dmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBu b3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9y bTogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1 NSwgMjU1KTsgbWFyZ2luOiAwcHg7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsiIGNsYXNzPSIiPg0K PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigyNTUsMTA4LDEwOCkiIGNsYXNzPSIiPi4uL2JhbXZpZXdl ci1wb2MvYmFtdmlld2VyLjx3YnIgY2xhc3M9IiI+Y3BwOjE0Nzo0NTogZXJyb3I6IGNvbnZlcnNp b24gZnJvbSDigJhzZXFhbjo6U2ltcGxlVHlwZSZsdDt1bnNpZ25lZCBjaGFyLCBzZXFhbjo6SXVw YWNfJmd0OyrigJkgdG8gbm9uLXNjYWxhciB0eXBlIOKAmHN0ZDo6X19jeHgxMTo6c3RyaW5nIHth a2Egc3RkOjpfX2N4eDExOjpiYXNpY19zdHJpbmcmbHQ7PHdiciBjbGFzcz0iIj5jaGFyJmd0O33i gJkNCiByZXF1ZXN0ZWQ8L3NwYW4+PC9kaXY+DQo8c3BhbiBjbGFzcz0iZ21haWwtaW0iIHN0eWxl PSJjb2xvcjpyZ2IoODAsMCw4MCk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjtmb250LXNp emU6MTIuOHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFs O2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6 bm9ybWFsO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1pbmRlbnQ6MHB4O3RleHQtdHJhbnNmb3JtOm5v bmU7d2hpdGUtc3BhY2U6bm9ybWFsO3dvcmQtc3BhY2luZzowcHg7YmFja2dyb3VuZC1jb2xvcjpy Z2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbi1zdHlsZTppbml0aWFsO3RleHQtZGVjb3Jh dGlvbi1jb2xvcjppbml0aWFsIj4NCjxkaXYgc3R5bGU9Im1hcmdpbjogMHB4OyB0ZXh0LWluZGVu dDogMHB4OyB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iY29s b3I6cmdiKDI1NSwxMDgsMTA4KSIgY2xhc3M9IiI+c3RkOjpzdHJpbmcgdGVzdDEgPSBzZXFhbjo6 dG9DU3RyaW5nKHJlY29yZC5zZXEpOzwvc3Bhbj48L2Rpdj4NCjwvc3Bhbj48YnIgY2xhc3M9IiI+ DQo8L2Rpdj4NCi0tIDxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9ImdtYWlsX3NpZ25hdHVyZSIg ZGF0YS1zbWFydG1haWw9ImdtYWlsX3NpZ25hdHVyZSI+DQo8ZGl2IGRpcj0ibHRyIiBjbGFzcz0i Ij4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGRpcj0ibHRyIiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9 IiI+DQo8ZGl2IGRpcj0ibHRyIiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGRpcj0i bHRyIiBjbGFzcz0iIj4NCjxkaXYgZGlyPSJsdHIiIGNsYXNzPSIiPg0KPGRpdiBkaXI9Imx0ciIg Y2xhc3M9IiI+LS0gPGJyIGNsYXNzPSIiPg0KRHIgU2FjaGEgU2NodXR6PGJyIGNsYXNzPSIiPg0K PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuOHB4IiBjbGFz cz0iIj5tw6lkZWNpbmUgLyBnw6luw6l0aXF1ZSBtb2zDqWN1bGFpcmU8L3NwYW4+PC9kaXY+DQo8 ZGl2IGNsYXNzPSIiPkJpb2luZm9ybWF0aWNpZW48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYg ZGlyPSJsdHIiIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj4mIzQzOzMzNjxzcGFuIHN0eWxlPSJi YWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Y29sb3I6cmdiKDUxLDUxLDUxKTtmb250 LWZhbWlseTonbHVjaWRhIGdyYW5kZScsdGFob21hLHZlcmRhbmEsYXJpYWwsc2Fucy1zZXJpZjtm b250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4O3RleHQtYWxpZ246bGVmdCIgY2xhc3M9IiI+ NTE1NzE2MDY8YnIgY2xhc3M9IiI+DQo8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxzcGFu IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Y29sb3I6cmdiKDUxLDUx LDUxKTtmb250LWZhbWlseTonbHVjaWRhIGdyYW5kZScsdGFob21hLHZlcmRhbmEsYXJpYWwsc2Fu cy1zZXJpZjtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4O3RleHQtYWxpZ246bGVmdCIg Y2xhc3M9IiI+PGEgaHJlZj0iaHR0cDovL2RyaWRrLm1lLyIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNz PSIiPmRyaWRrLm1lPC9hPjxiciBjbGFzcz0iIj4NCjwvc3Bhbj48L2Rpdj4NCjxkaXYgY2xhc3M9 IiI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtjb2xvcjpy Z2IoNTEsNTEsNTEpO2ZvbnQtZmFtaWx5OidsdWNpZGEgZ3JhbmRlJyx0YWhvbWEsdmVyZGFuYSxh cmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE4cHg7dGV4dC1hbGln bjpsZWZ0IiBjbGFzcz0iIj48YSBocmVmPSJodHRwOi8vd3d3LmxhYnNxdWFyZS5vcmcvIiB0YXJn ZXQ9Il9ibGFuayIgY2xhc3M9IiI+d3d3LmxhYnNxdWFyZS5vcmcNCjwvYT48YnIgY2xhc3M9IiI+ DQo8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNv bG9yOnJnYigyNTUsMjU1LDI1NSk7Y29sb3I6cmdiKDUxLDUxLDUxKTtmb250LWZhbWlseTonbHVj aWRhIGdyYW5kZScsdGFob21hLHZlcmRhbmEsYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTNw eDtsaW5lLWhlaWdodDoxOHB4O3RleHQtYWxpZ246bGVmdCIgY2xhc3M9IiI+PGEgaHJlZj0iaHR0 cHM6Ly9naXRodWIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPkZvcmsNCiBtZSBvbiBn aXRodWI8L2E+PGJyIGNsYXNzPSIiPg0KPC9zcGFuPjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIg Y2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4N CjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0K PC9kaXY+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxi ciBjbGFzcz0iIj4NCnNlcWFuLWRldiBtYWlsaW5nIGxpc3Q8YnIgY2xhc3M9IiI+DQo8YSBocmVm PSJtYWlsdG86c2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZSIgY2xhc3M9IiI+c2VxYW4tZGV2 QGxpc3RzLmZ1LWJlcmxpbi5kZTwvYT48YnIgY2xhc3M9IiI+DQpodHRwczovL2xpc3RzLmZ1LWJl cmxpbi5kZS9saXN0aW5mby9zZXFhbi1kZXY8YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjwvYmxvY2tx dW90ZT4NCjwvZGl2Pg0KPGJyIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgc3R5bGU9 ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246 IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3Bh Y2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6 IDBweDsgd29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13 ZWJraXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxkaXYgc3R5 bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxp Z246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUt c3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lk dGg6IDBweDsgd29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7 IC13ZWJraXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxkaXYg Y2xhc3M9IiI+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48 Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+LS0tPC9mb250PjwvZGl2Pg0KPGRpdiBz dHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmll ciBOZXciIGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZm9udD48L2Rpdj4NCjxkaXYgc3R5bGU9 Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3 IiBjbGFzcz0iIj5SZW7DqSBSYWhuPC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFuczog Mjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNzPSIi PlBoLkQuIFN0dWRlbnQgKGRlLk5CSSAtIENJQkkpPC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0i b3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXci IGNsYXNzPSIiPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9mb250PjwvZGl2Pg0K PGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNz PSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj5UZWw6ICZuYnNwOygmIzQzOzQ5 KSAzMCA4MzgmbmJzcDs8L2ZvbnQ+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAnQ291cmllciBO ZXcnOyIgY2xhc3M9IiI+NzI5NzQ8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZh Y2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj5NYWlsOiZuYnNwOzxhIGhyZWY9Im1haWx0bzpyZW5l LnJhaG5AZnUtYmVybGluLmRlIiBjbGFzcz0iIj5yZW5lLnJhaG5AZnUtYmVybGluLmRlPC9hPjwv Zm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNz PSIiPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9mb250PjwvZGl2Pg0KPC9kaXY+ DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNl PSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+SW5zdGl0dXRlIG9mIENvbXB1dGVyIFNjaWVuY2U8L2Zv bnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48 Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+QWxnb3JpdGhtaWMgQmlvaW5mb3JtYXRp Y3MgKEFCSSk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7 IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+LS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS08L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAy OyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+ RnJlaWUgVW5pdmVyc2l0w6R0IEJlcmxpbjwvZm9udD48L2Rpdj4NCjxkaXYgc3R5bGU9Im9ycGhh bnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFz cz0iIj5UYWt1c3RyYcOfZSA5PC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsg d2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNzPSIiPjE0 MTk1IEJlcmxpbjwvZm9udD48L2Rpdj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czog MjsiIGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj4tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZm9udD48L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rp dj4NCjwvZGl2Pg0KPGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRt bD4NCg== --_000_6A05FA5AB2BA431C8CB95654FA9D1F6Efuberlinde_-- From Rene.Rahn@fu-berlin.de Wed Mar 21 10:26:16 2018 Received: from outpost9.zedat.fu-berlin.de ([130.133.4.95]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1eya0d-000bh2-Ep>; Wed, 21 Mar 2018 10:26:15 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1eya0d-002QD4-BI>; Wed, 21 Mar 2018 10:26:15 +0100 Received: from cas1.campus.fu-berlin.de ([130.133.170.201]) by relay2.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1:AES256-SHA:256) (envelope-from ) id <1eya0d-002zvu-3w>; Wed, 21 Mar 2018 10:26:15 +0100 Received: from EX03A.campus.fu-berlin.de ([130.133.170.134]) by CAS1.campus.fu-berlin.de ([130.133.170.201]) with mapi id 14.03.0382.000; Wed, 21 Mar 2018 10:26:13 +0100 From: =?utf-8?B?UmFobiwgUmVuw6k=?= To: SeqAn Development Thread-Topic: [Seqan-dev] Saving an index for StringSet to disk: lots of files Thread-Index: AQHTvWc+gcSmIYyLZky06ptrv6Rf2aPaYbsA Message-ID: References: In-Reply-To: Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: multipart/alternative; boundary="_000_AAB3D632F2F94403AD12599D073F5610fuberlinde_" MIME-Version: 1.0 Date: Wed, 21 Mar 2018 10:26:13 +0100 X-Original-Date: Wed, 21 Mar 2018 09:26:13 +0000 X-Originating-IP: 130.133.170.201 X-Original-X-Originating-IP: [130.133.170.206] X-ZEDAT-Hint: XA X-purgate: suspect X-purgate-type: suspect X-purgate-ID: 151147::1521624375-000005A1-4748FB87/2/25532653315 X-Bogosity: Ham, tests=bogofilter, spamicity=0.024857, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-49.0 required=5.0 tests=ALL_TRUSTED, FU_XPURGATE_SUSP, HTML_MESSAGE,T_RP_MATCHES_RCVD,URIBL_BLOCKED X-Spam-Checker-Version: SpamAssassin 3.4.1 on Kiribati.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Saving an index for StringSet to disk: lots of files X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Mar 2018 09:26:16 -0000 --_000_AAB3D632F2F94403AD12599D073F5610fuberlinde_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTHVjYXMsDQoNCnRoYW5rcyBmb3Igd3JpdGluZyB1cy4NCkJ1dCBpbiB0aGUgZnV0dXJlIEkg d291bGQgbGlrZSB5b3UgdG8gbW92ZSBzdWNoIGNvbnZlcnNhdGlvbnMgdG8gb3VyIGlzc3VlIHRy YWNrZXIuIGh0dHBzOi8vZ2l0aHViLmNvbS9zZXFhbi9zZXFhbi9pc3N1ZXMNCllvdSB3aWxsIGFj Y2VzcyBhIG11Y2ggYmlnZ2VyIHJhbmdlIG9mIHBlb3BsZS4NCg0KSW4gZ2VuZXJhbCwgSSBhbSBu b3QgZmFtaWxpYXIgd2l0aCB0aGUgc2VyaWFsaXNhdGlvbiBvZiBTQSBpbmRpY2VzLCBidXQgSSBr aW5kIG9mIHRoaW5rIHlvdXIgYXBwcm9hY2ggY2FuIGJlIGRvbmUgbW9yZSBlZmZpY2llbnRseSB3 aXRoIGEgcS1ncmFtIEluZGV4Lg0KWW91IGNhbiBidWlsZCBpdCBvdmVyIHRoZSBzZXQgb2YgcmVh ZHMsIGFuZCB0aGVuIHF1ZXJ5IGZvciBldmVyeSBrLW1lciB0aGUgb2NjdXJyZW5jZXMgaW4geW91 ciByZWFkcy4NClVzaW5nIGEgT3BlbkFkZHJlc3NpbmcgUS1HcmFtIGluZGV4IHdpbGwga2VlcCB0 aGUgbWVtb3J5IGluIGEgcmFuZ2Ugb2YgMzAlIG1vcmUgc3BhY2UgdGhhbiBhY3R1YWxseSBvY2N1 cnJpbmcgcS1ncmFtcy4NCkJ1aWxkaW5nIGl0IGlzIGZhaXJseSBmYXN0IGFuZCB0aHVzIGNvdWxk IGJlIGZhY2lsaXRhdGVkIHRvIHJ1biBkaWZmZXJlbnQgcS1ncmFtIHNpemVzIChuZWVkcyByZWNy ZWF0aW9uIG9mIHRoZSBpbmRleCkuDQoNClBsZWFzZSBoYXZlIGEgbG9vayBhdDogaHR0cDovL3Nl cWFuLnJlYWR0aGVkb2NzLmlvL2VuL21hc3Rlci9UdXRvcmlhbC9EYXRhU3RydWN0dXJlcy9JbmRp Y2VzL1FncmFtSW5kZXguaHRtbA0KYW5kIGh0dHA6Ly9zZXFhbi5yZWFkdGhlZG9jcy5pby9lbi9t YXN0ZXIvVHV0b3JpYWwvQWxnb3JpdGhtcy9QYXR0ZXJuTWF0Y2hpbmcvSW5kZXhlZFBhdHRlcm5N YXRjaGluZy5odG1sDQoNCklIVEgsDQoNClJlbsOpDQoNCg0KT24gMTYuIE1hciAyMDE4LCBhdCAy MTo0MCwgTHVjYXMgdmFuIERpamsgPGluZm9AbHVjYXN2YW5kaWprLm5sPG1haWx0bzppbmZvQGx1 Y2FzdmFuZGlqay5ubD4+IHdyb3RlOg0KDQpIaSBhbGwsDQoNCkknbSB0cnlpbmcgdG8gYnVpbGQg YSBzaW1wbGUgKHNob3J0KSByZWFkIGZpbHRlcjogZ2l2ZW4gYSBsaXN0IG9mIGstbWVycywga2Vl cCBvbmx5IHJlYWRzIHRoYXQgY29udGFpbnMgYXQgbGVhc3Qgb25lIG9mIHRoZSBnaXZlbiBrLW1l cnMuIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGFuYWx5c2UgdGhlIGJlaGF2aW91ciBvZiBhIHRvb2wg d2UncmUgd29ya2luZyBvbi4gSXQgZG9lc24ndCBuZWVkIHRvIGJlIHN1cGVyIG1lbW9yeSBlZmZp Y2llbnQsIGl0J2xsIG1vc3RseSBiZSBhIGRlYnVnZ2luZyB0b29sLg0KDQpNeSBzdHJhdGVneSB3 YXMgdG8gdXNlIFNlcUFuIGFuZCBidWlsdCBhIHN1ZmZpeCBhcnJheSBpbmRleCBmb3IgdGhlIFN0 cmluZ1NldCBvZiByZWFkcywgYW5kIHF1aWNrbHkgZW51bWVyYXRlIHdoaWNoIHJlYWRzIGNvbnRh aW4gYSBnaXZlbiBrLW1lci4gSSBnb3QgYSBzaW1wbGUgcHJvdG90eXBlIHdvcmtpbmcgdGhhdCBy ZWFkcyB0aGUgd2hvbGUgRkFTVFEgZmlsZSBpbiBtZW1vcnkgYXMgU3RyaW5nU2V0LCBhbmQgdGhl biBidWlsZCBhbiBJbmRleDxTdHJpbmdTZXQ8RG5hNVN0cmluZz4sIEluZGV4U2E8Pj4uDQoNCkJl Y2F1c2UgSSB3YW50IHRvIGZpbHRlciB0aGUgb3JpZ2luYWwgRkFTVFEgZmlsZSBtdWx0aXBsZSB0 aW1lcyB3aXRoIGRpZmZlcmVudCBzZXRzIG9mIGstbWVycywgSSB0aG91Z2h0IGl0IHdvdWxkIGJl IGEgZ29vZCBpZGVhIHRvIHN0b3JlIHRoZSBpbmRleCBvbiBkaXNrLCB0byBiZSByZS11c2VkIG5l eHQgdGltZS4gSW4gYWRkaXRpb24gdG8gdGhlIG1haW4gIi5zYSIgZmlsZSwgaG93ZXZlciwgaXQg Y3JlYXRlcyBhbiBpbmNyZWRpYmxlIGFtb3VudCBvZiBmaWxlcyB3aXRoIHBhdHRlcm4gIioudHh0 Lk5VTSIuIEkgc3VzcGVjdCBhIHNlcGFyYXRlIGZpbGUgZm9yIGV2ZXJ5IHNlcXVlbmNlIGluIHRo ZSBGQVNUUSBmaWxlLiBUaGVzZSBmaWxlcyBhcmUgdmVyeSBzbWFsbCB0b286IHNtYWxsZXIgdGhh biAxa2IgKHByb2JhYmx5IGJlY2F1c2UgdGhlc2UgYXJlIHNob3J0IHJlYWRzKS4gVGhpcyBhbW91 bnQgb2YgZmlsZXMgcmVhbGx5IHNsb3dzIGRvd24gc2ltcGxlIG9wZXJhdGlvbnMgbGlrZSBgbHNg LCBwbHVzIGl0J3MgcmVhbGx5IG1lc3N5Lg0KDQpGdXJ0aGVybW9yZSwgdGhpcyB3YXMganVzdCBh IHJlbGF0aXZlbHkgc21hbGwgdGVzdCBGQVNUUSBmaWxlLiBJZiBteSBhc3N1bXB0aW9uIHRoYXQg YSBzZXBhcmF0ZSBmaWxlIGlzIGNyZWF0ZWQgZm9yIGV2ZXJ5IHNlcXVlbmNlIGluIHRoZSBGQVNU USBmaWxlIGlzIHRydWUsIHRoZW4gdXNpbmcgdGhpcyBhcHByb2FjaCBmb3IgaGlnaGVyIGNvdmVy YWdlIHNhbXBsZXMgd2l0aCBtYW55IG1vcmUgc2VxdWVuY2VzIHdpbGwgbm90IGJlIHVzYWJsZS4g SSBmZWVsIEkgd2lsbCBoaXQgc29tZSBmaWxlIHN5c3RlbSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9m IGZpbGVzLCBlc3BlY2lhbGx5IGlmIEkgaGF2ZSBtdWx0aXBsZSBGQVNUUSBzYW1wbGVzIGluIHRo ZSBzYW1lIGRpcmVjdG9yeS4NCg0KQ2FuIHRoaXMgYmVoYXZpb3VyIGJlIGNoYW5nZWQ/IFdoeSBp c24ndCBldmVyeXRoaW5nIHN0b3JlZCBpbiBhIHNpbmdsZSAiLnNhIiBmaWxlPw0KDQpDdXJyZW50 IHNvdXJjZSBjb2RlIGZvciByZWZlcmVuY2U6DQpodHRwczovL2dpdGh1Yi5jb20vbHJ2ZGlqay9y ZWFkLWZpbHRlcg0KDQpLaW5kIHJlZ2FyZHMsDQpMdWNhcw0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCnNlcWFuLWRldiBtYWlsaW5nIGxpc3QNCnNlcWFu LWRldkBsaXN0cy5mdS1iZXJsaW4uZGU8bWFpbHRvOnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4u ZGU+DQpodHRwczovL2xpc3RzLmZ1LWJlcmxpbi5kZS9saXN0aW5mby9zZXFhbi1kZXYNCg0KLS0t DQoNClJlbsOpIFJhaG4NClBoLkQuIFN0dWRlbnQgKGRlLk5CSSAtIENJQkkpDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGVsOiAgKCs0OSkgMzAgODM4IDcyOTc0DQpNYWlsOiBy ZW5lLnJhaG5AZnUtYmVybGluLmRlPG1haWx0bzpyZW5lLnJhaG5AZnUtYmVybGluLmRlPg0KLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkluc3RpdHV0ZSBvZiBDb21wdXRlciBTY2ll bmNlDQpBbGdvcml0aG1pYyBCaW9pbmZvcm1hdGljcyAoQUJJKQ0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCkZyZWllIFVuaXZlcnNpdMOkdCBCZXJsaW4NClRha3VzdHJhw59lIDkN CjE0MTk1IEJlcmxpbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K --_000_AAB3D632F2F94403AD12599D073F5610fuberlinde_ Content-Type: text/html; charset="utf-8" Content-ID: <57FD2503613A9D4F9522CDE818EC8B11@campus.fu-berlin.de> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KSGkgTHVjYXMsJm5ic3A7DQo8ZGl2 IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj50aGFua3MgZm9y IHdyaXRpbmcgdXMuPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkJ1dCBpbiB0aGUgZnV0dXJlIEkgd291 bGQgbGlrZSB5b3UgdG8gbW92ZSBzdWNoIGNvbnZlcnNhdGlvbnMgdG8gb3VyIGlzc3VlIHRyYWNr ZXIuDQo8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2VxYW4iIGNsYXNzPSIiPmh0dHBzOi8v Z2l0aHViLmNvbS9zZXFhbjwvYT4vc2VxYW4vaXNzdWVzPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPllv dSB3aWxsIGFjY2VzcyBhIG11Y2ggYmlnZ2VyIHJhbmdlIG9mIHBlb3BsZS48L2Rpdj4NCjxkaXYg Y2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkluIGdlbmVyYWws IEkgYW0gbm90IGZhbWlsaWFyIHdpdGggdGhlIHNlcmlhbGlzYXRpb24gb2YgU0EgaW5kaWNlcywg YnV0IEkga2luZCBvZiB0aGluayB5b3VyIGFwcHJvYWNoIGNhbiBiZSBkb25lIG1vcmUgZWZmaWNp ZW50bHkgd2l0aCBhIHEtZ3JhbSBJbmRleC48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+WW91IGNhbiBi dWlsZCBpdCBvdmVyIHRoZSBzZXQgb2YgcmVhZHMsIGFuZCB0aGVuIHF1ZXJ5IGZvciBldmVyeSBr LW1lciB0aGUgb2NjdXJyZW5jZXMgaW4geW91ciByZWFkcy4mbmJzcDs8L2Rpdj4NCjxkaXYgY2xh c3M9IiI+VXNpbmcgYSBPcGVuQWRkcmVzc2luZyBRLUdyYW0gaW5kZXggd2lsbCBrZWVwIHRoZSBt ZW1vcnkgaW4gYSByYW5nZSBvZiAzMCUgbW9yZSBzcGFjZSB0aGFuIGFjdHVhbGx5IG9jY3Vycmlu ZyBxLWdyYW1zLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5CdWlsZGluZyBpdCBpcyBmYWlybHkgZmFz dCBhbmQgdGh1cyBjb3VsZCBiZSBmYWNpbGl0YXRlZCB0byBydW4gZGlmZmVyZW50IHEtZ3JhbSBz aXplcyAobmVlZHMgcmVjcmVhdGlvbiBvZiB0aGUgaW5kZXgpLjwvZGl2Pg0KPGRpdiBjbGFzcz0i Ij48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+UGxlYXNlIGhhdmUgYSBsb29r IGF0OiZuYnNwOzxhIGhyZWY9Imh0dHA6Ly9zZXFhbi5yZWFkdGhlZG9jcy5pby9lbi9tYXN0ZXIv VHV0b3JpYWwvRGF0YVN0cnVjdHVyZXMvSW5kaWNlcy9RZ3JhbUluZGV4Lmh0bWwiIGNsYXNzPSIi Pmh0dHA6Ly9zZXFhbi5yZWFkdGhlZG9jcy5pby9lbi9tYXN0ZXIvVHV0b3JpYWwvRGF0YVN0cnVj dHVyZXMvSW5kaWNlcy9RZ3JhbUluZGV4Lmh0bWw8L2E+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPmFu ZCZuYnNwOzxhIGhyZWY9Imh0dHA6Ly9zZXFhbi5yZWFkdGhlZG9jcy5pby9lbi9tYXN0ZXIvVHV0 b3JpYWwvQWxnb3JpdGhtcy9QYXR0ZXJuTWF0Y2hpbmcvSW5kZXhlZFBhdHRlcm5NYXRjaGluZy5o dG1sIiBjbGFzcz0iIj5odHRwOi8vc2VxYW4ucmVhZHRoZWRvY3MuaW8vZW4vbWFzdGVyL1R1dG9y aWFsL0FsZ29yaXRobXMvUGF0dGVybk1hdGNoaW5nL0luZGV4ZWRQYXR0ZXJuTWF0Y2hpbmcuaHRt bDwvYT48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNs YXNzPSIiPklIVEgsPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0K PGRpdiBjbGFzcz0iIj5SZW7DqTwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8 L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPGRpdj4NCjxibG9ja3F1b3RlIHR5 cGU9ImNpdGUiIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj5PbiAxNi4gTWFyIDIwMTgsIGF0IDIx OjQwLCBMdWNhcyB2YW4gRGlqayAmbHQ7PGEgaHJlZj0ibWFpbHRvOmluZm9AbHVjYXN2YW5kaWpr Lm5sIiBjbGFzcz0iIj5pbmZvQGx1Y2FzdmFuZGlqay5ubDwvYT4mZ3Q7IHdyb3RlOjwvZGl2Pg0K PGJyIGNsYXNzPSJBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5lIj4NCjxkaXYgY2xhc3M9IiI+DQo8 ZGl2IGRpcj0ibHRyIiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0K PGRpdiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBjbGFz cz0iIj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPkhpIGFsbCw8YnIgY2xhc3M9IiI+ DQo8YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCkknbSB0cnlpbmcgdG8gYnVpbGQgYSBzaW1wbGUgKHNo b3J0KSByZWFkIGZpbHRlcjogZ2l2ZW4gYSBsaXN0IG9mIGstbWVycywga2VlcCBvbmx5IHJlYWRz IHRoYXQgY29udGFpbnMgYXQgbGVhc3Qgb25lIG9mIHRoZSBnaXZlbiBrLW1lcnMuIFRoaXMgd2ls bCBiZSB1c2VkIHRvIGFuYWx5c2UgdGhlIGJlaGF2aW91ciBvZiBhIHRvb2wgd2UncmUgd29ya2lu ZyBvbi4gSXQgZG9lc24ndCBuZWVkIHRvIGJlIHN1cGVyIG1lbW9yeSBlZmZpY2llbnQsIGl0J2xs DQogbW9zdGx5IGJlIGEgZGVidWdnaW5nIHRvb2wuIDxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0i Ij4NCjwvZGl2Pg0KTXkgc3RyYXRlZ3kgd2FzIHRvIHVzZSBTZXFBbiBhbmQgYnVpbHQgYSBzdWZm aXggYXJyYXkgaW5kZXggZm9yIHRoZSBTdHJpbmdTZXQgb2YgcmVhZHMsIGFuZCBxdWlja2x5IGVu dW1lcmF0ZSB3aGljaCByZWFkcyBjb250YWluIGEgZ2l2ZW4gay1tZXIuIEkgZ290IGEgc2ltcGxl IHByb3RvdHlwZSB3b3JraW5nIHRoYXQgcmVhZHMgdGhlIHdob2xlIEZBU1RRIGZpbGUgaW4gbWVt b3J5IGFzIFN0cmluZ1NldCwgYW5kIHRoZW4gYnVpbGQgYW4gSW5kZXgmbHQ7U3RyaW5nU2V0Jmx0 O0RuYTVTdHJpbmcmZ3Q7LA0KIEluZGV4U2EmbHQ7Jmd0OyZndDsuPGJyIGNsYXNzPSIiPg0KPGJy IGNsYXNzPSIiPg0KPC9kaXY+DQpCZWNhdXNlIEkgd2FudCB0byBmaWx0ZXIgdGhlIG9yaWdpbmFs IEZBU1RRIGZpbGUgbXVsdGlwbGUgdGltZXMgd2l0aCBkaWZmZXJlbnQgc2V0cyBvZiBrLW1lcnMs IEkgdGhvdWdodCBpdCB3b3VsZCBiZSBhIGdvb2QgaWRlYSB0byBzdG9yZSB0aGUgaW5kZXggb24g ZGlzaywgdG8gYmUgcmUtdXNlZCBuZXh0IHRpbWUuIEluIGFkZGl0aW9uIHRvIHRoZSBtYWluICZx dW90Oy5zYSZxdW90OyBmaWxlLCBob3dldmVyLCBpdCBjcmVhdGVzIGFuIGluY3JlZGlibGUgYW1v dW50DQogb2YgZmlsZXMgd2l0aCBwYXR0ZXJuICZxdW90OyoudHh0Lk5VTSZxdW90Oy4gSSBzdXNw ZWN0IGEgc2VwYXJhdGUgZmlsZSBmb3IgZXZlcnkgc2VxdWVuY2UgaW4gdGhlIEZBU1RRIGZpbGUu IFRoZXNlIGZpbGVzIGFyZSB2ZXJ5IHNtYWxsIHRvbzogc21hbGxlciB0aGFuIDFrYiAocHJvYmFi bHkgYmVjYXVzZSB0aGVzZSBhcmUgc2hvcnQgcmVhZHMpLiBUaGlzIGFtb3VudCBvZiBmaWxlcyBy ZWFsbHkgc2xvd3MgZG93biBzaW1wbGUgb3BlcmF0aW9ucyBsaWtlIGBsc2AsDQogcGx1cyBpdCdz IHJlYWxseSBtZXNzeS4gPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KPC9kaXY+DQpGdXJ0 aGVybW9yZSwgdGhpcyB3YXMganVzdCBhIHJlbGF0aXZlbHkgc21hbGwgdGVzdCBGQVNUUSBmaWxl LiBJZiBteSBhc3N1bXB0aW9uIHRoYXQgYSBzZXBhcmF0ZSBmaWxlIGlzIGNyZWF0ZWQgZm9yIGV2 ZXJ5IHNlcXVlbmNlIGluIHRoZSBGQVNUUSBmaWxlIGlzIHRydWUsIHRoZW4gdXNpbmcgdGhpcyBh cHByb2FjaCBmb3IgaGlnaGVyIGNvdmVyYWdlIHNhbXBsZXMgd2l0aCBtYW55IG1vcmUgc2VxdWVu Y2VzIHdpbGwgbm90IGJlIHVzYWJsZS4gSQ0KIGZlZWwgSSB3aWxsIGhpdCBzb21lIGZpbGUgc3lz dGVtIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgZmlsZXMsIGVzcGVjaWFsbHkgaWYgSSBoYXZlIG11 bHRpcGxlIEZBU1RRIHNhbXBsZXMgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LjxiciBjbGFzcz0iIj4N CjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KQ2FuIHRoaXMgYmVoYXZpb3VyIGJlIGNoYW5nZWQ/IFdo eSBpc24ndCBldmVyeXRoaW5nIHN0b3JlZCBpbiBhIHNpbmdsZSAmcXVvdDsuc2EmcXVvdDsgZmls ZT88YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCkN1cnJlbnQgc291cmNlIGNv ZGUgZm9yIHJlZmVyZW5jZTo8YnIgY2xhc3M9IiI+DQo8YSBocmVmPSJodHRwczovL2dpdGh1Yi5j b20vbHJ2ZGlqay9yZWFkLWZpbHRlciIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmh0dHBzOi8v Z2l0aHViLmNvbS9scnZkaWprL3JlYWQtZmlsdGVyPC9hPjxiciBjbGFzcz0iIj4NCjxiciBjbGFz cz0iIj4NCjwvZGl2Pg0KS2luZCByZWdhcmRzLDxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KTHVjYXM8 L2Rpdj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJy IGNsYXNzPSIiPg0Kc2VxYW4tZGV2IG1haWxpbmcgbGlzdDxiciBjbGFzcz0iIj4NCjxhIGhyZWY9 Im1haWx0bzpzZXFhbi1kZXZAbGlzdHMuZnUtYmVybGluLmRlIiBjbGFzcz0iIj5zZXFhbi1kZXZA bGlzdHMuZnUtYmVybGluLmRlPC9hPjxiciBjbGFzcz0iIj4NCmh0dHBzOi8vbGlzdHMuZnUtYmVy bGluLmRlL2xpc3RpbmZvL3NlcWFuLWRldjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPC9ibG9ja3F1 b3RlPg0KPC9kaXY+DQo8YnIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBzdHlsZT0i Y29sb3I6IHJnYigwLCAwLCAwKTsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjog c3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFj ZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDog MHB4OyB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdl YmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KPGRpdiBzdHls ZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgdGV4dC1hbGln bjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25lOyB3aGl0ZS1z cGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0 aDogMHB4OyB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsg LXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KPGRpdiBj bGFzcz0iIj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxm b250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj4tLS08L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0 eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVy IE5ldyIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0i b3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXci IGNsYXNzPSIiPlJlbsOpIFJhaG48L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAy OyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+ UGguRC4gU3R1ZGVudCAoZGUuTkJJIC0gQ0lCSSk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJv cnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIg Y2xhc3M9IiI+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2ZvbnQ+PC9kaXY+DQo8 ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9 IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNzPSIiPlRlbDogJm5ic3A7KCYjNDM7NDkp IDMwIDgzOCZuYnNwOzwvZm9udD48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5l dyc7IiBjbGFzcz0iIj43Mjk3NDwvc3Bhbj48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFj ZT0iQ291cmllciBOZXciIGNsYXNzPSIiPk1haWw6Jm5ic3A7PGEgaHJlZj0ibWFpbHRvOnJlbmUu cmFobkBmdS1iZXJsaW4uZGUiIGNsYXNzPSIiPnJlbmUucmFobkBmdS1iZXJsaW4uZGU8L2E+PC9m b250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9 IiI+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2ZvbnQ+PC9kaXY+DQo8L2Rpdj4N CjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9 IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj5JbnN0aXR1dGUgb2YgQ29tcHV0ZXIgU2NpZW5jZTwvZm9u dD48L2Rpdj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxm b250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj5BbGdvcml0aG1pYyBCaW9pbmZvcm1hdGlj cyAoQUJJKTwvZm9udD48L2Rpdj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsi IGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj4tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLTwvZm9udD48L2Rpdj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7 IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj5G cmVpZSBVbml2ZXJzaXTDpHQgQmVybGluPC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFu czogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNz PSIiPlRha3VzdHJhw59lIDk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3 aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+MTQx OTUgQmVybGluPC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAy OyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNzPSIiPi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9mb250PjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2 Pg0KPC9kaXY+DQo8YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_AAB3D632F2F94403AD12599D073F5610fuberlinde_-- From Rene.Rahn@fu-berlin.de Wed Mar 21 10:39:39 2018 Received: from outpost9.zedat.fu-berlin.de ([130.133.4.95]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1eyaDZ-000cyl-IJ>; Wed, 21 Mar 2018 10:39:37 +0100 Received: from relay2.zedat.fu-berlin.de ([130.133.4.80]) by outpost.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1eyaDZ-002WI4-EH>; Wed, 21 Mar 2018 10:39:37 +0100 Received: from cas3.campus.fu-berlin.de ([130.133.170.203]) by relay2.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1:AES256-SHA:256) (envelope-from ) id <1eyaDZ-0032Yc-6U>; Wed, 21 Mar 2018 10:39:37 +0100 Received: from EX03A.campus.fu-berlin.de ([130.133.170.134]) by CAS3.campus.fu-berlin.de ([130.133.170.203]) with mapi id 14.03.0382.000; Wed, 21 Mar 2018 10:39:35 +0100 From: =?utf-8?B?UmFobiwgUmVuw6k=?= To: SeqAn Development Thread-Topic: [Seqan-dev] seqan-dev Digest, Vol 86, Issue 1 Thread-Index: AQHTuiv/7sGqZ4bml0WE7ikMwQ8BfqPaa++A Message-ID: <4E140083-942A-4E42-8000-80E73B6466F1@fu-berlin.de> References: In-Reply-To: Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: multipart/alternative; boundary="_000_4E140083942A4E42800080E73B6466F1fuberlinde_" MIME-Version: 1.0 Date: Wed, 21 Mar 2018 10:39:36 +0100 X-Original-Date: Wed, 21 Mar 2018 09:39:36 +0000 X-Originating-IP: 130.133.170.203 X-Original-X-Originating-IP: [130.133.170.206] X-ZEDAT-Hint: XA X-purgate: suspect X-purgate-type: suspect X-purgate-ID: 151147::1521625177-000005A1-51C79086/2/25532653321 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-49.0 required=5.0 tests=ALL_TRUSTED, FU_XPURGATE_SUSP, HTML_MESSAGE,T_RP_MATCHES_RCVD,URIBL_BLOCKED X-Spam-Checker-Version: SpamAssassin 3.4.1 on Niue.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] seqan-dev Digest, Vol 86, Issue 1 X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Mar 2018 09:39:39 -0000 --_000_4E140083942A4E42800080E73B6466F1fuberlinde_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TWhtbSwNCg0KbWtzdGVtcCBpcyBhIGxpbnV4IHN5c3RlbSBmdW5jdGlvbi4gTm90IHN1cmUgaWYg TWluR1cgcG9ydHMgdGhhdC4gWW91IHByb2JhYmx5IGhhdmUgdG8gdXNlIHdpbmRvd3MgQVBJIHRv IGNyZWF0ZSBhIHRlbXAgZGlyZWN0b3J5IGhlcmUuIEJ1dCB0aGlzIGlzIGp1c3QgYSBndWVzcy4N CkluIHRoZSBmdW5jdGlvbiBgdGVtcEZpbGVOYW1lYCB5b3UgcHJvYmFibHkgaGF2ZSB0byBicmFu Y2ggaW50byB0aGUgU1RETElCX1ZTICBwYXJ0IGlmIHlvdSBhcmUgdXNpbmcgX19NSU5HVzMyX18g dG8gZ2V0IHRoZSB3aW5kb3dzIEFQSSBydW5uaW5nLg0KDQpjaGVlcnMsDQoNClJlbsOpDQoNCg0K T24gMTIuIE1hciAyMDE4LCBhdCAxODo1NCwgQXVndXN0IEd1YW5nIDxhdWd1c3QuZ3VhbmdAZ21h aWwuY29tPG1haWx0bzphdWd1c3QuZ3VhbmdAZ21haWwuY29tPj4gd3JvdGU6DQoNClRoYW5rIHlv dSB2ZXJ5IG11Y2ggZm9yIHRoZSBvZmZlciB0byBoZWxwLg0KDQpJIGhhdmUgcmVtb3ZlZCB0aGUg KGEpc3luY2hyb25vdXMgSS9PIGFuZCBhbHNvIGRvIG5vdCBkZWZpbmUgX2dldE9GbGFnLCBvcGVu IGFuZCBvcGVuVGVtcCBpbiA8c2VxYW4vc3lzdGVtL2ZpbGVfc3luYy5oPiBpZiBfX01JTkdXMzJf XyBpcyB0aGUgY29tcGlsZXIuIFRoYXQgc29sdmVkIHRoYXQgZXJyb3Igd2l0aCBnZXR1aWQsIGdl dGdpZCwgZ2V0ZXVpZCwgZ2V0ZWdpZC4NCg0KTm93IEkgYW0gZ2V0dGluZyB0aGlzIGVycm9yICgm IDIgd2FybmluZ3MpOg0KDQpFcnJvciBpbiByZS1idWlsZGluZyB2aWduZXR0ZXM6DQogIC4uLg0K ICAgICAgICAgICAgICAgICBmcm9tIGZpbGU0ZjM0MWMyMzYxMTEuY3BwOjQ6DQpEOi90ZW1wL1J0 bXBTNDVoMTMvUkxJQlNfMjI1OGU4NDMzMDgvUlNlcUFuL2luY2x1ZGUvc2VxYW4vbW1hbi5oOiBJ biBmdW5jdGlvbiAndm9pZCogbW1hcCh2b2lkKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBvZmZf dCknOg0KRDovdGVtcC9SdG1wUzQ1aDEzL1JMSUJTXzIyNThlODQzMzA4L1JTZXFBbi9pbmNsdWRl L3NlcWFuL21tYW4uaDoxMTE6NDg6IHdhcm5pbmc6IHJpZ2h0IHNoaWZ0IGNvdW50ID49IHdpZHRo IG9mIHR5cGUNCiAgICAgICAgICAgICAgICAgICAgIChEV09SRCkwIDogKERXT1JEKSgob2ZmID4+ IDMyKSAmIDB4RkZGRkZGRkZMKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4NCkQ6L3RlbXAvUnRtcFM0NWgxMy9STElCU18yMjU4ZTg0MzMwOC9SU2Vx QW4vaW5jbHVkZS9zZXFhbi9tbWFuLmg6MTIwOjUyOiB3YXJuaW5nOiByaWdodCBzaGlmdCBjb3Vu dCA+PSB3aWR0aCBvZiB0eXBlDQogICAgICAgICAgICAgICAgICAgICAoRFdPUkQpMCA6IChEV09S RCkoKG1heFNpemUgPj4gMzIpICYgMHhGRkZGRkZGRkwpOw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBE Oi90ZW1wL1J0bXBTNDVoMTMvUkxJQlNfMjI1OGU4NDMzMDgvUlNlcUFuL2luY2x1ZGUvc2VxYW4v YmFzaWMvYmFzaWNfZGVidWcuaDo1MjowLA0KICAgICAgICAgICAgICAgICBmcm9tIEQ6L3RlbXAv UnRtcFM0NWgxMy9STElCU18yMjU4ZTg0MzMwOC9SU2VxQW4vaW5jbHVkZS9zZXFhbi9iYXNpYy5o OjQ5LA0KICAgICAgICAgICAgICAgICBmcm9tIEQ6L3RlbXAvUnRtcFM0NWgxMy9STElCU18yMjU4 ZTg0MzMwOC9SU2VxQW4vaW5jbHVkZS9zZXFhbi9zZXF1ZW5jZS5oOjc0LA0KICAgICAgICAgICAg ICAgICBmcm9tIEQ6L3RlbXAvUnRtcFM0NWgxMy9STElCU18yMjU4ZTg0MzMwOC9SU2VxQW4vaW5j bHVkZS9zZXFhbi9maWxlLmg6NjcsDQogICAgICAgICAgICAgICAgIGZyb20gZmlsZTRmMzQxYzIz NjExMS5jcHA6NDoNCkQ6L3RlbXAvUnRtcFM0NWgxMy9STElCU18yMjU4ZTg0MzMwOC9SU2VxQW4v aW5jbHVkZS9zZXFhbi9iYXNpYy9kZWJ1Z190ZXN0X3N5c3RlbS5oOiBJbiBmdW5jdGlvbiAnY29u c3QgY2hhciogc2VxYW46OkNsYXNzVGVzdDo6dGVtcEZpbGVOYW1lKCknOg0KRDovdGVtcC9SdG1w UzQ1aDEzL1JMSUJTXzIyNThlODQzMzA4L1JTZXFBbi9pbmNsdWRlL3NlcWFuL2Jhc2ljL2RlYnVn X3Rlc3Rfc3lzdGVtLmg6NzEyOjM4OiBlcnJvcjogJ21rc3RlbXAnIHdhcyBub3QgZGVjbGFyZWQg aW4gdGhpcyBzY29wZQ0KICAgICBpbnQgX3RtcCA9IG1rc3RlbXAoZmlsZU5hbWVCdWZmZXIpOw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQptYWtlWzFdOiAqKiogW2Zp bGU0ZjM0MWMyMzYxMTEub10gRXJyb3IgMQ0KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAv Y3lnZHJpdmUvZC90ZW1wL1J0bXBJcFFkR0Yvc291cmNlQ3BwLXg4Nl82NC13NjQtbWluZ3czMi0w LjEyLjE1L3NvdXJjZWNwcF80ZjM0MTg4YTJkNzknDQpkOi9Db21waWxlci9nY2MtNC45LjMvbWlu Z3dfNjQvYmluL2crKyAtbTY0IC1JIkQ6L1JDb21waWxlL3JlY2VudC9SL2luY2x1ZGUiIC1ETkRF QlVHICAgLUkiRDovdGVtcC9SdG1wUzQ1aDEzL1JMSUJTXzIyNThlODQzMzA4L1JjcHAvaW5jbHVk ZSIgLUkiRDovdGVtcC9SdG1wUzQ1aDEzL1JMSUJTXzIyNThlODQzMzA4L1JTZXFBbi9pbmNsdWRl IiAtSSJEOi90ZW1wL1J0bXBJcFFkR0Yvc291cmNlQ3BwLXg4Nl82NC13NjQtbWluZ3czMi0wLjEy LjE1IiAgIC1JImQ6L0NvbXBpbGVyL2djYy00LjkuMy9sb2NhbDMzMC9pbmNsdWRlIiAgLXN0ZD1j KysxNCAgIC1wZWRhbnRpYyAtTzIgLVdhbGwgIC1tdHVuZT1jb3JlMiAtYyBmaWxlNGYzNDFjMjM2 MTExLmNwcCAtbyBmaWxlNGYzNDFjMjM2MTExLm8NCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5 IGAvY3lnZHJpdmUvZC90ZW1wL1J0bXBJcFFkR0Yvc291cmNlQ3BwLXg4Nl82NC13NjQtbWluZ3cz Mi0wLjEyLjE1L3NvdXJjZWNwcF80ZjM0MTg4YTJkNzknDQoNCk1vc3Qgb2YgdGhlIG90aGVyIGVy cm9ycyBmcm9tIHRoZSBtaW5ndyBjb21waWxlciBJIGhhdmUgYmVlbiB3b3JraW5nIG9uIGhhdmUg YmVlbiBpbiB0aGlzIHNlcWFuL2Jhc2ljL2RlYnVnX3Rlc3Rfc3lzdGVtLmggZmlsZS4NCg0KVGhh bmtzLA0KYXVndXN0DQoNCk9uIFR1ZSwgTWFyIDYsIDIwMTggYXQgNjowMCBBTSwgPHNlcWFuLWRl di1yZXF1ZXN0QGxpc3RzLmZ1LWJlcmxpbi5kZTxtYWlsdG86c2VxYW4tZGV2LXJlcXVlc3RAbGlz dHMuZnUtYmVybGluLmRlPj4gd3JvdGU6DQpTZW5kIHNlcWFuLWRldiBtYWlsaW5nIGxpc3Qgc3Vi bWlzc2lvbnMgdG8NCiAgICAgICAgc2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZTxtYWlsdG86 c2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZT4NCg0KVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2Ny aWJlIHZpYSB0aGUgV29ybGQgV2lkZSBXZWIsIHZpc2l0DQogICAgICAgIGh0dHBzOi8vbGlzdHMu ZnUtYmVybGluLmRlL2xpc3RpbmZvL3NlcWFuLWRldg0Kb3IsIHZpYSBlbWFpbCwgc2VuZCBhIG1l c3NhZ2Ugd2l0aCBzdWJqZWN0IG9yIGJvZHkgJ2hlbHAnIHRvDQogICAgICAgIHNlcWFuLWRldi1y ZXF1ZXN0QGxpc3RzLmZ1LWJlcmxpbi5kZTxtYWlsdG86c2VxYW4tZGV2LXJlcXVlc3RAbGlzdHMu ZnUtYmVybGluLmRlPg0KDQpZb3UgY2FuIHJlYWNoIHRoZSBwZXJzb24gbWFuYWdpbmcgdGhlIGxp c3QgYXQNCiAgICAgICAgc2VxYW4tZGV2LW93bmVyQGxpc3RzLmZ1LWJlcmxpbi5kZTxtYWlsdG86 c2VxYW4tZGV2LW93bmVyQGxpc3RzLmZ1LWJlcmxpbi5kZT4NCg0KV2hlbiByZXBseWluZywgcGxl YXNlIGVkaXQgeW91ciBTdWJqZWN0IGxpbmUgc28gaXQgaXMgbW9yZSBzcGVjaWZpYw0KdGhhbiAi UmU6IENvbnRlbnRzIG9mIHNlcWFuLWRldiBkaWdlc3QuLi4iDQoNCg0KVG9kYXkncyBUb3BpY3M6 DQoNCiAgIDEuIFJlOiBwbGFjaW5nIHNlcWFuIGhlYWRlcnMgaW50byBSIHBhY2thZ2UgKEF1Z3Vz dCBHdWFuZykNCiAgIDIuIFJlOiBwbGFjaW5nIHNlcWFuIGhlYWRlcnMgaW50byBSIHBhY2thZ2Ug KFJhaG4pDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpNZXNzYWdlOiAxDQpEYXRlOiBNb24sIDUgTWFy IDIwMTggMTI6MDE6MjcgLTA1MDANCkZyb206IEF1Z3VzdCBHdWFuZyA8YXVndXN0Lmd1YW5nQGdt YWlsLmNvbTxtYWlsdG86YXVndXN0Lmd1YW5nQGdtYWlsLmNvbT4+DQpUbzogSGFubmVzIEhhdXN3 ZWRlbGwgPGhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kZTxtYWlsdG86aGFubmVzLmhhdXN3 ZWRlbGxAZnUtYmVybGluLmRlPj4NCkNjOiBTZXFBbiBEZXZlbG9wbWVudCA8c2VxYW4tZGV2QGxp c3RzLmZ1LWJlcmxpbi5kZTxtYWlsdG86c2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZT4+DQpT dWJqZWN0OiBSZTogW1NlcWFuLWRldl0gcGxhY2luZyBzZXFhbiBoZWFkZXJzIGludG8gUiBwYWNr YWdlDQpNZXNzYWdlLUlEOg0KICAgICAgICA8Q0FBPTR0RV9LUTRfdStUd09XUnAzb2ZhS0M3bm9t TUtBcFNKQ3JDTmkzYkhidjgydkVnQG1haWwuZ21haWwuY29tPG1haWx0bzo0dEVfS1E0X3UlMkJU d09XUnAzb2ZhS0M3bm9tTUtBcFNKQ3JDTmkzYkhidjgydkVnQG1haWwuZ21haWwuY29tPj4NCkNv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0idXRmLTgiDQoNClRoYW5rcywgSSBoYXZl IGluY2x1ZGVkIHRoZSBsaWNlbnNlIGZpbGUgYW5kIGEgbm90aWNlIGFib3V0IGNpdGF0aW9ucyBu b3cuDQpXaWxsIHRoZXJlIGJlIHN1cHBvcnQgZm9yIHNlcWFuLzIuNCBmb3IgbWluZ3c/IEkgc2F3 IHRoYXQgdGhlcmUgd2FzIG9uDQpvbGRlciB2ZXJzaW9ucy4gVGhlIHJlYXNvbiBJJ20gYXNraW5n IGlzIHRoYXQgUiBwYWNrYWdlcyBzdWJtaXR0ZWQgdG8NCkJpb2NvbmR1Y3Rvci9DUkFOIGhhdmUg dG8gYnVpbGQgYW5kIHBhc3MgY2hlY2tzIG9uIExpbnV4LCBPUyBhbmQgV2luZG93cywNCmJ1dCBv biBXaW5kb3dzIHRoZSBwYWNrYWdlcyBhcmUgdGVzdGVkIHdpdGggdGhlIG1pbmd3IGNvbXBpbGVy IGFuZCBJDQpoYXZlbid0IGZvdW5kIGEgd2F5IGFyb3VuZCBpdC4NCg0KSWYgbm90LCB3b3VsZCBJ IGJlIGFibGUgdG8gZ2V0IHNvbWUgaGVscCB3aXRoIHdyaXRpbmcgc3VwcG9ydCBmb3IgaXQ/IEkN CmhhdmUgYmVlbiB0cnlpbmcgdG8gYWRkcmVzcyB2YXJpb3VzIGlzc3VlcyBzcGVjaWZpYyB0byBt aW5ndyBidXQgYW0gbm90DQpmYW1pbGlhciB3aXRoIFdpbmRvd3Mgc3BlY2lmaWMgaW1wbGVtZW50 YXRpb25zIGFuZCBhbSBnZXR0aW5nIHdheSBvdXQgb2YgbXkNCmRlcHRoLiBTbyBmYXIgSSBoYXZl IGFkZGVkIG1tYW4td2luMzIgdG8gcmVwbGFjZSBzeXMvbW1hbi5oIGFuZCBjaGFuZ2VkDQpzb21l IGVudW0gdmFsdWVzIHRvIG5vdCB1c2UgcG9zaXhfbWFkdmlzZS4gVGhlIGN1cnJlbnQgZXJyb3Ig SSBhbSB0cnlpbmcgdG8NCnRhY2tsZSBpcyB0aGUgZmFjdCB0aGF0IGdldHVpZCwgZ2V0ZXVpZCwg Z2V0Z2lkIGFuZCBnZXRlZ2lkIGFyZSBVbml4LW9ubHkuDQpJdCBhcHBlYXJzIEkgY2FuIGVpdGhl ciB3cml0ZSBteSBvd24gbWFjcm9zIGZvciB0aGVtICgNCmh0dHBzOi8vc3RhY2tvdmVyZmxvdy5j b20vcXVlc3Rpb25zLzE1OTQ3NDYvd2luMzItZXF1aXZhbGVudC1vZi1nZXR1aWQpIG9yDQppbnN0 YWxsIExpYkdXMzIgZm9yIHRoZW0gKGh0dHA6Ly9nbnV3aW4zMi5zb3VyY2Vmb3JnZTxodHRwOi8v Z251d2luMzIuc291cmNlZm9yZ2UvPi4NCm5ldC9wYWNrYWdlcy9saWJndzMyYy5odG0pLiBJcyB0 aGVyZSBhbiBvcHRpb24gdGhhdCB3b3VsZCBiZSBiZXR0ZXIgYW5kIGNhbg0KSSBnZXQgc29tZSBh ZHZpY2Ugb24gaG93IEkgd291bGQgaW1wbGVtZW50IGl0Pw0KDQp0aGFua3MsDQphdWd1c3QNCg0K T24gTW9uLCBGZWIgMjYsIDIwMTggYXQgNzo0OSBBTSwgSGFubmVzIEhhdXN3ZWRlbGwgPA0KaGFu bmVzLmhhdXN3ZWRlbGxAZnUtYmVybGluLmRlPG1haWx0bzpoYW5uZXMuaGF1c3dlZGVsbEBmdS1i ZXJsaW4uZGU+PiB3cm90ZToNCg0KPiBBbSBEb25uZXJzdGFnLCAyMi4gRmVicnVhciAyMDE4LCAx MTowNTozOCBzY2hyaWViIEF1Z3VzdCBHdWFuZzoNCj4gPiBIaSwNCj4gPg0KPiA+IEkgd291bGQg bGlrZSB0byBwYWNrYWdlIHRoZSBTZXFBbiBoZWFkZXJzIGZvciBlYXN5IHVzZSBpbiBhIGZldyBS DQo+IHBhY2thZ2VzDQo+ID4gSSB3aWxsIGJlIHdyaXRpbmcgd2l0aCBteSB0ZWFtLCB0aGUgQ29t cHV0YXRpb25hbCBCaW9sb2d5IENvcmUgYXQgQnJvd24NCj4gPiBVbml2ZXJzaXR5IGluIHRoZSBV Uy4gV291bGQgdGhpcyBiZSBvayB3aXRoIHlvdSBhbGw/IEkgYW0gbGVhdmluZyB0aGUNCj4gPiBs aWNlbnNlIGFzIEJTRCAzIGNsYXVzZSBhcyB3ZWxsLCBhbmQgaWYgeW91IHdvdWxkIGxpa2UgdG8g bWFrZSBhbnkNCj4gPiBhZGRpdGlvbnMgdG8gdGhlIGxpY2Vuc2UgcGxlYXNlIGxldCBtZSBrbm93 Lg0KPiA+DQo+ID4gWW91IGNhbiB2aWV3IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSByZXBvc2l0 b3J5IGhlcmU6DQo+ID4gaHR0cHM6Ly9naXRodWIuY29tL2NvbXBiaW9jb3JlL1JTZXFBbg0KPiA+ DQo+ID4gVGhhbmtzLA0KPiA+IGF1Z3VzdA0KPg0KPiBEZWFyIEF1Z3VzdCwNCj4NCj4gdGhhdCdz IGdyZWF0IHRvIGhlYXIsIGZlZWwgdmVyeSBmcmVlIHRvIGluY2x1ZGUgaXQgaW4geW91ciBwYWNr YWdlLiBBcw0KPiBsb25nIGFzDQo+IHRoZSBMSUNFTlNFIGZpbGUgaXMgc2hpcHBlZCB3aXRoIHRo ZSBwYWNrYWdlIHRoZXJlIGlzIG5vIHByb2JsZW0uIFBsZWFzZQ0KPiBhbHNvDQo+IGluY2x1ZGUg YSBsaW5rIHRvIHd3dy5zZXFhbi5kZTxodHRwOi8vd3d3LnNlcWFuLmRlLz4gaW4geW91ciBkb2N1 bWVudGF0aW9uIGFuZCBpZiBwb3NzaWJsZSBhbHNvDQo+IHRoZQ0KPiBmb2xsb3dpbmcgbm90ZToN Cj4gIlBsZWFzZSBkbyBub3QgZm9yZ2V0IHRvIGNpdGUgU2VxQW4gaWYgeW91IHVzZSB0aGlzIHBh Y2thZ2UgaW4geW91cg0KPiBhY2VkZW1pYw0KPiB3b3JrLCBldmVuIGlmIG9ubHkgaW4gYXV4aWxp YXJ5IHRvb2xzIG9yIHBpcGVsaW5lczoNCj4gaHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai5qYmlv dGVjLjIwMTcuMDcuMDE3Ig0KPg0KPiBUaGF0IHdvdWxkIGJlIGdyZWF0IQ0KPg0KPiBUaGFuayB5 b3UsDQo+IEhhbm5lcw0KPiAtLQ0KPiBIYW5uZXMgSGF1c3dlZGVsbA0KPg0KPiBTY2llbnRpZmlj IHN0YWZmICYgUGhEIGNhbmRpZGF0ZQ0KPiBGcmVpZSBVbml2ZXJzaXQ/dCBCZXJsaW4gLyBNYXgg UGxhbmNrIEluc3RpdHV0ZSBmb3IgTW9sZWN1bGFyIEdlbmV0aWNzDQo+DQo+IGFkZHJlc3MgICAg IEluc3RpdHV0IGY/ciBJbmZvcm1hdGlrDQo+ICAgICAgICAgICAgIFRha3VzdHJhP2UgOQ0KPiAg ICAgICAgICAgICBSb29tIDAxOQ0KPiAgICAgICAgICAgICAxNDE5NSBCZXJsaW4NCj4gdGVsZXBo b25lICAgKzQ5ICgwKTMwIDgzOC03NTI0MTx0ZWw6JTJCNDklMjAlMjgwJTI5MzAlMjA4MzgtNzUy NDE+DQo+IGZheCAgICAgICAgICs0OSAoMCkzMCA4MzgtNzUyMTg8dGVsOiUyQjQ5JTIwJTI4MCUy OTMwJTIwODM4LTc1MjE4Pg0KPiBlLW1haWwgICAgICBoYW5uZXMuaGF1c3dlZGVsbEBmdS1iZXJs aW4uZGU8bWFpbHRvOmhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kZT4NCj4NCg0KDQoNCi0t DQpBdWd1c3QgR3VhbmcNCg0KSE1DIENsYXNzIG9mIDIwMTINCk1hdGhlbWF0aWNzDQoNCkJyb3du IFVuaXZlcnNpdHkNCkFwcGxpZWQgTWF0aGVtYXRpY3MNCi0tLS0tLS0tLS0tLS0tIG5leHQgcGFy dCAtLS0tLS0tLS0tLS0tLQ0KQW4gSFRNTCBhdHRhY2htZW50IHdhcyBzY3J1YmJlZC4uLg0KVVJM OiA8aHR0cHM6Ly9saXN0cy5mdS1iZXJsaW4uZGUvcGlwZXJtYWlsL3NlcWFuLWRldi9hdHRhY2ht ZW50cy8yMDE4MDMwNS8yMjdhMTEwNS9hdHRhY2htZW50Lmh0bWw+DQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KDQpNZXNzYWdlOiAyDQpEYXRlOiBUdWUsIDA2IE1hciAyMDE4IDA5 OjU4OjE0ICswMTAwDQpGcm9tOiBSYWhuLCBSZW4/IDxSZW5lLlJhaG5AZnUtYmVybGluLmRlPG1h aWx0bzpSZW5lLlJhaG5AZnUtYmVybGluLmRlPj4NClRvOiBTZXFBbiBEZXZlbG9wbWVudCA8c2Vx YW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZTxtYWlsdG86c2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxp bi5kZT4+DQpTdWJqZWN0OiBSZTogW1NlcWFuLWRldl0gcGxhY2luZyBzZXFhbiBoZWFkZXJzIGlu dG8gUiBwYWNrYWdlDQpNZXNzYWdlLUlEOiA8RTJCRjJCMEQtNDVBNi00OTNGLUI3M0ItRjUxRkYx REQzOTA0QGZ1LWJlcmxpbi5kZTxtYWlsdG86RTJCRjJCMEQtNDVBNi00OTNGLUI3M0ItRjUxRkYx REQzOTA0QGZ1LWJlcmxpbi5kZT4+DQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 InV0Zi04Ig0KDQpIaSBBdWd1c3QsDQoNCm1hbnkgdGhhbmtzIGZvciB5b3VyIGVmZm9ydHMuIEkg YW0gYWZyYWlkLCB0aGF0IHRoaXMgaXMgYWN0dWFsbHkgcXVpdGUgYSBjaGFsbGVuZ2UgeW91IGFy ZSB0cnlpbmcgaGVyZS4NCldlIG9uY2UgaGFkIHN1cHBvcnQgZm9yIE1pbkdXLCBidXQgaXQgY2F1 c2VkIG1vcmUgcHJvYmxlbXMgdGhhbiBicmluZ2luZyBhbnkgYmVuZWZpdC4gSGVuY2Ugd2UgcmVt b3ZlZCB0aGUgc3VwcG9ydCBmcm9tIGl0LCBhbHNvIGdpdmVuIGJ5IHRoZSBmYWN0IHRoYXQgdGhl cmUgd2FzIGFsd2F5cyBhIGZyZWUgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlvIGF2YWlsYWJsZS4N Ck9mIGNvdXJzZSwgaWYgeW91IGFyZSBlYWdlciB0byB0YWNrbGUgdGhpcyB5b3Ugd2lsbCBnZXQg c3VwcG9ydCBmcm9tIHVzLiBCdXQgaG9uZXN0bHksIHdlIG5lZWQgdG8gcmVhbGx5IGNoZWNrIGlm IHdlIGNhbiBhZGQgdGhpcyBpbnRvIHRoZSBjb3JlIGxpYnJhcnkgaWYgaXQgd2lsbCBldmVuIHdv cmsuDQpQbGVhc2Ugbm90ZSwgdGhhdCB0aGVyZSB3aWxsIGJlIG9ubHkgcGF0Y2ggbGV2ZWwgcmVs ZWFzZXMgbGVmdCBmb3IgdGhlIDIueCBjeWNsZS4gU28gaGF2aW5nIHRoaXMgTWluR1cgcG9ydCBp biBhIHNlcGFyYXRlIHJlcG9zaXRvcnkgY291bGQgYmUgYSBjb252ZW5pZW50IHdheSBmb3IgYm90 aCBzaWRlcy4NCg0KV2UgYXJlIGN1cnJlbnRseSB3b3JraW5nIG9uIFNlcUFuIDMgYW5kIHRoaXMg d2lsbCBiZSBubyBjb21wYXRpYmxlIHdpdGggU2VxQW4gMiBhbmQgcmVxdWlyZXMgYysrMTcvMjAu IEkgYW0gYWZyYWlkIHRoaXMgd2lsbCBiZSBhIHN0b3BwZXIgZm9yIE1pbkdXIGZvciBxdWl0ZSBz b21lIHRpbWUuDQpCdXQsIEkgdGhpbmsgaWYgV2luZG93cyBjb21lcyB3aXRoIGEgbGludXggc3Vi c3lzdGVtIHRoZXNlIGRheXMgaXQgY291bGQgYmUgd29ydGggaXQgdG8gY2hlY2sgaWYgUiBtaWdo dCAgcGFja2FnZSB1c2luZyBzdGFuZGFyZCBsaW51eCBvbiBXaW5kb3dzIGFueXdheSBpbiB0aGUg ZnV0dXJlIChOb3Qgc3VyZSBpZiB0aGV5IGhhdmUgaXQgb24gdGhlaXIgd2lzaGxpc3QgYWxyZWFk eSkuDQoNCkhvd2V2ZXIsIHdlIGFyZSBzdGlsbCBoYXBweSB0byBhc3Npc3QgeW91IHRvIHRyeSBv dXQgbWluR1cgY29tcGlsZXIuIFBsZWFzZSBsZXQgdXMga25vdyB0aGUgY29tcGlsZXIgZXJyb3Jz IHlvdSByZWNlaXZlLCBhbmQgdGhlIGludm9rZWQgYnVpbGQgY29tbWFuZCwgc28gd2UgY2FuIGhh dmUgYSBjbG9zZXIgbG9vayBvbiBvdXIgc2lkZS4NCkZvciB0aGUgcmVzcGVjdGl2ZSBlcnJvciB5 b3UgYXJlIHJlY2VpdmluZywgaXQgc2VlbXMgdGhlIG9ubHkgcGxhY2UgdGhhdCBpcyB1c2luZyBp dCBpcyB0aGUgPHNlcWFuL3N5c3RlbS9maWxlX3N5bmMuaD4gaGVhZGVyIGFuZCBzb21lIG90aGVy IGhlYWRlcnMgZG9pbmcgc29tZSBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mIGl0Lg0KQXMgZmFyIGFz IEkgYW0gY29uY2VybmVkLCB0aGlzIGlzIG9sZCBjb2RlIGFuZCBkb2VzIG5vdCByZWFsbHkgbmVl ZCB0byBiZSBzaGlwcGVkIGluIHlvdXIgcHJvamVjdC4gU28geW91IGNvdWxkIHdyYXAgaXQgaW50 byBtYWNyb3MsIHRoYXQgaWYgTWluR1cgaXMgdXNlZCB0aGVzZSBjb2RlIHBhdGhzIGFyZSBub3Qg ZXZhbHVhdGVkLg0KV2UgaGF2ZSBhIHZpcnR1YWwgc3RyZWFtIGNsYXNzIG5vdywgd2hpY2ggaXMg YSBiZXR0ZXIgYWx0ZXJuYXRpdmUgZm9yIHRoZSBGaWxlIGNsYXNzLg0KQW55aG93LCBJIGNvdWxk bid0IGZpbmQgYW55IHBsYWNlIHdoZXJlIHdlIGRpcmVjdGx5IHVzZSBGaWxlPFN5bmN8QXN5bmM+ IGZvciAoYSlzeW5jaHJvbm91cyBJL08gc28gaXQgd291bGQgYmUgc2FmZSB0byByZW1vdmUgZm9y IHRoZSBSIHBvcnQuDQoNCkxldCBtZSBrbm93IGlmIHRoZXJlIGlzIGFueXRoaW5nIG1vcmUsIGJ1 dCBwbGVhc2UgYmVhciBpbiBtaW5kLCB0aGF0IHdlIGFyZSBxdWl0ZSBidXN5IHJpZ2h0IG5vdywg YW5kIGl0IGNvdWxkIHRha2UgYSB3aGlsZSBmb3IgdXMgdG8gcmVzcG9uZCB3aXRoIGEgcHJvcGVy IHNvbHV0aW9uLg0KRXNwZWNpYWxseSBpbiB0aGUgbmV4dCB0d28gd2Vla3MgOykNCg0KQmVzdCwN Cg0KUmVuPw0KDQoNCk9uIDUuIE1hciAyMDE4LCBhdCAxODowMSwgQXVndXN0IEd1YW5nIDxhdWd1 c3QuZ3VhbmdAZ21haWwuY29tPG1haWx0bzphdWd1c3QuZ3VhbmdAZ21haWwuY29tPjxtYWlsdG86 YXVndXN0Lmd1YW5nQGdtYWlsLmNvbTxtYWlsdG86YXVndXN0Lmd1YW5nQGdtYWlsLmNvbT4+PiB3 cm90ZToNCg0KVGhhbmtzLCBJIGhhdmUgaW5jbHVkZWQgdGhlIGxpY2Vuc2UgZmlsZSBhbmQgYSBu b3RpY2UgYWJvdXQgY2l0YXRpb25zIG5vdy4gV2lsbCB0aGVyZSBiZSBzdXBwb3J0IGZvciBzZXFh bi8yLjQgZm9yIG1pbmd3PyBJIHNhdyB0aGF0IHRoZXJlIHdhcyBvbiBvbGRlciB2ZXJzaW9ucy4g VGhlIHJlYXNvbiBJJ20gYXNraW5nIGlzIHRoYXQgUiBwYWNrYWdlcyBzdWJtaXR0ZWQgdG8gQmlv Y29uZHVjdG9yL0NSQU4gaGF2ZSB0byBidWlsZCBhbmQgcGFzcyBjaGVja3Mgb24gTGludXgsIE9T IGFuZCBXaW5kb3dzLCBidXQgb24gV2luZG93cyB0aGUgcGFja2FnZXMgYXJlIHRlc3RlZCB3aXRo IHRoZSBtaW5ndyBjb21waWxlciBhbmQgSSBoYXZlbid0IGZvdW5kIGEgd2F5IGFyb3VuZCBpdC4N Cg0KSWYgbm90LCB3b3VsZCBJIGJlIGFibGUgdG8gZ2V0IHNvbWUgaGVscCB3aXRoIHdyaXRpbmcg c3VwcG9ydCBmb3IgaXQ/IEkgaGF2ZSBiZWVuIHRyeWluZyB0byBhZGRyZXNzIHZhcmlvdXMgaXNz dWVzIHNwZWNpZmljIHRvIG1pbmd3IGJ1dCBhbSBub3QgZmFtaWxpYXIgd2l0aCBXaW5kb3dzIHNw ZWNpZmljIGltcGxlbWVudGF0aW9ucyBhbmQgYW0gZ2V0dGluZyB3YXkgb3V0IG9mIG15IGRlcHRo LiBTbyBmYXIgSSBoYXZlIGFkZGVkIG1tYW4td2luMzIgdG8gcmVwbGFjZSBzeXMvbW1hbi5oIGFu ZCBjaGFuZ2VkIHNvbWUgZW51bSB2YWx1ZXMgdG8gbm90IHVzZSBwb3NpeF9tYWR2aXNlLiBUaGUg Y3VycmVudCBlcnJvciBJIGFtIHRyeWluZyB0byB0YWNrbGUgaXMgdGhlIGZhY3QgdGhhdCBnZXR1 aWQsIGdldGV1aWQsIGdldGdpZCBhbmQgZ2V0ZWdpZCBhcmUgVW5peC1vbmx5LiBJdCBhcHBlYXJz IEkgY2FuIGVpdGhlciB3cml0ZSBteSBvd24gbWFjcm9zIGZvciB0aGVtIChodHRwczovL3N0YWNr b3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNTk0NzQ2L3dpbjMyLWVxdWl2YWxlbnQtb2YtZ2V0dWlk KSBvciBpbnN0YWxsIExpYkdXMzIgZm9yIHRoZW0gKGh0dHA6Ly9nbnV3aW4zMi5zb3VyY2Vmb3Jn ZS5uZXQvcGFja2FnZXMvbGliZ3czMmMuaHRtKS4gSXMgdGhlcmUgYW4gb3B0aW9uIHRoYXQgd291 bGQgYmUgYmV0dGVyIGFuZCBjYW4gSSBnZXQgc29tZSBhZHZpY2Ugb24gaG93IEkgd291bGQgaW1w bGVtZW50IGl0Pw0KDQp0aGFua3MsDQphdWd1c3QNCg0KT24gTW9uLCBGZWIgMjYsIDIwMTggYXQg Nzo0OSBBTSwgSGFubmVzIEhhdXN3ZWRlbGwgPGhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5k ZTxtYWlsdG86aGFubmVzLmhhdXN3ZWRlbGxAZnUtYmVybGluLmRlPjxtYWlsdG86aGFubmVzLmhh dXN3ZWRlbGxAZnUtYmVybGluLmRlPG1haWx0bzpoYW5uZXMuaGF1c3dlZGVsbEBmdS1iZXJsaW4u ZGU+Pj4gd3JvdGU6DQpBbSBEb25uZXJzdGFnLCAyMi4gRmVicnVhciAyMDE4LCAxMTowNTozOCBz Y2hyaWViIEF1Z3VzdCBHdWFuZzoNCj4gSGksDQo+DQo+IEkgd291bGQgbGlrZSB0byBwYWNrYWdl IHRoZSBTZXFBbiBoZWFkZXJzIGZvciBlYXN5IHVzZSBpbiBhIGZldyBSIHBhY2thZ2VzDQo+IEkg d2lsbCBiZSB3cml0aW5nIHdpdGggbXkgdGVhbSwgdGhlIENvbXB1dGF0aW9uYWwgQmlvbG9neSBD b3JlIGF0IEJyb3duDQo+IFVuaXZlcnNpdHkgaW4gdGhlIFVTLiBXb3VsZCB0aGlzIGJlIG9rIHdp dGggeW91IGFsbD8gSSBhbSBsZWF2aW5nIHRoZQ0KPiBsaWNlbnNlIGFzIEJTRCAzIGNsYXVzZSBh cyB3ZWxsLCBhbmQgaWYgeW91IHdvdWxkIGxpa2UgdG8gbWFrZSBhbnkNCj4gYWRkaXRpb25zIHRv IHRoZSBsaWNlbnNlIHBsZWFzZSBsZXQgbWUga25vdy4NCj4NCj4gWW91IGNhbiB2aWV3IHRoZSBj dXJyZW50IHN0YXRlIG9mIHRoZSByZXBvc2l0b3J5IGhlcmU6DQo+IGh0dHBzOi8vZ2l0aHViLmNv bS9jb21wYmlvY29yZS9SU2VxQW4NCj4NCj4gVGhhbmtzLA0KPiBhdWd1c3QNCg0KRGVhciBBdWd1 c3QsDQoNCnRoYXQncyBncmVhdCB0byBoZWFyLCBmZWVsIHZlcnkgZnJlZSB0byBpbmNsdWRlIGl0 IGluIHlvdXIgcGFja2FnZS4gQXMgbG9uZyBhcw0KdGhlIExJQ0VOU0UgZmlsZSBpcyBzaGlwcGVk IHdpdGggdGhlIHBhY2thZ2UgdGhlcmUgaXMgbm8gcHJvYmxlbS4gUGxlYXNlIGFsc28NCmluY2x1 ZGUgYSBsaW5rIHRvIHd3dy5zZXFhbi5kZTxodHRwOi8vd3d3LnNlcWFuLmRlLz48aHR0cDovL3d3 dy5zZXFhbi5kZS8+IGluIHlvdXIgZG9jdW1lbnRhdGlvbiBhbmQgaWYgcG9zc2libGUgYWxzbyB0 aGUNCmZvbGxvd2luZyBub3RlOg0KIlBsZWFzZSBkbyBub3QgZm9yZ2V0IHRvIGNpdGUgU2VxQW4g aWYgeW91IHVzZSB0aGlzIHBhY2thZ2UgaW4geW91ciBhY2VkZW1pYw0Kd29yaywgZXZlbiBpZiBv bmx5IGluIGF1eGlsaWFyeSB0b29scyBvciBwaXBlbGluZXM6DQpodHRwczovL2RvaS5vcmcvMTAu MTAxNi9qLmpiaW90ZWMuMjAxNy4wNy4wMTciDQoNClRoYXQgd291bGQgYmUgZ3JlYXQhDQoNClRo YW5rIHlvdSwNCkhhbm5lcw0KLS0NCkhhbm5lcyBIYXVzd2VkZWxsDQoNClNjaWVudGlmaWMgc3Rh ZmYgJiBQaEQgY2FuZGlkYXRlDQpGcmVpZSBVbml2ZXJzaXQ/dCBCZXJsaW4gLyBNYXggUGxhbmNr IEluc3RpdHV0ZSBmb3IgTW9sZWN1bGFyIEdlbmV0aWNzDQoNCmFkZHJlc3MgICAgIEluc3RpdHV0 IGY/ciBJbmZvcm1hdGlrDQogICAgICAgICAgICBUYWt1c3RyYT9lIDkNCiAgICAgICAgICAgIFJv b20gMDE5DQogICAgICAgICAgICAxNDE5NSBCZXJsaW4NCnRlbGVwaG9uZSAgICs0OSAoMCkzMCA4 MzgtNzUyNDE8dGVsOiUyQjQ5JTIwJTI4MCUyOTMwJTIwODM4LTc1MjQxPjx0ZWw6JTJCNDklMjAl MjgwJTI5MzAlMjA4MzgtNzUyNDE+DQpmYXggICAgICAgICArNDkgKDApMzAgODM4LTc1MjE4PHRl bDolMkI0OSUyMCUyODAlMjkzMCUyMDgzOC03NTIxOD48dGVsOiUyQjQ5JTIwJTI4MCUyOTMwJTIw ODM4LTc1MjE4Pg0KZS1tYWlsICAgICAgaGFubmVzLmhhdXN3ZWRlbGxAZnUtYmVybGluLmRlPG1h aWx0bzpoYW5uZXMuaGF1c3dlZGVsbEBmdS1iZXJsaW4uZGU+PG1haWx0bzpoYW5uZXMuaGF1c3dl ZGVsbEBmdS1iZXJsaW4uZGU8bWFpbHRvOmhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kZT4+ DQoNCg0KDQotLQ0KQXVndXN0IEd1YW5nDQoNCkhNQyBDbGFzcyBvZiAyMDEyDQpNYXRoZW1hdGlj cw0KDQpCcm93biBVbml2ZXJzaXR5DQpBcHBsaWVkIE1hdGhlbWF0aWNzDQpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0Kc2VxYW4tZGV2IG1haWxpbmcgbGlz dA0Kc2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZTxtYWlsdG86c2VxYW4tZGV2QGxpc3RzLmZ1 LWJlcmxpbi5kZT48bWFpbHRvOnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU8bWFpbHRvOnNl cWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU+Pg0KaHR0cHM6Ly9saXN0cy5mdS1iZXJsaW4uZGUv bGlzdGluZm8vc2VxYW4tZGV2DQoNCi0tLQ0KDQpSZW4/IFJhaG4NClBoLkQuIFN0dWRlbnQgKGRl Lk5CSSAtIENJQkkpDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGVsOiAgKCs0 OSkgMzAgODM4IDcyOTc0PHRlbDolMjglMkI0OSUyOSUyMDMwJTIwODM4JTIwNzI5NzQ+DQpNYWls OiByZW5lLnJhaG5AZnUtYmVybGluLmRlPG1haWx0bzpyZW5lLnJhaG5AZnUtYmVybGluLmRlPjxt YWlsdG86cmVuZS5yYWhuQGZ1LWJlcmxpbi5kZTxtYWlsdG86cmVuZS5yYWhuQGZ1LWJlcmxpbi5k ZT4+DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KSW5zdGl0dXRlIG9mIENvbXB1 dGVyIFNjaWVuY2UNCkFsZ29yaXRobWljIEJpb2luZm9ybWF0aWNzIChBQkkpDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRnJlaWUgVW5pdmVyc2l0P3QgQmVybGluDQpUYWt1c3Ry YT9lIDkNCjE0MTk1IEJlcmxpbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K LS0tLS0tLS0tLS0tLS0gbmV4dCBwYXJ0IC0tLS0tLS0tLS0tLS0tDQpBbiBIVE1MIGF0dGFjaG1l bnQgd2FzIHNjcnViYmVkLi4uDQpVUkw6IDxodHRwczovL2xpc3RzLmZ1LWJlcmxpbi5kZS9waXBl cm1haWwvc2VxYW4tZGV2L2F0dGFjaG1lbnRzLzIwMTgwMzA2LzIyZTU5NmVmL2F0dGFjaG1lbnQu aHRtbD4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNClN1YmplY3Q6IERpZ2Vz dCBGb290ZXINCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCnNlcWFuLWRldiBtYWlsaW5nIGxpc3QNCnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU8 bWFpbHRvOnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU+DQpodHRwczovL2xpc3RzLmZ1LWJl cmxpbi5kZS9saXN0aW5mby9zZXFhbi1kZXYNCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCg0KRW5kIG9mIHNlcWFuLWRldiBEaWdlc3QsIFZvbCA4NiwgSXNzdWUgMQ0KKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KDQoNCg0KLS0NCkF1Z3VzdCBHdWFu Zw0KDQpITUMgQ2xhc3Mgb2YgMjAxMg0KTWF0aGVtYXRpY3MNCg0KQnJvd24gVW5pdmVyc2l0eQ0K QXBwbGllZCBNYXRoZW1hdGljcw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCnNlcWFuLWRldiBtYWlsaW5nIGxpc3QNCnNlcWFuLWRldkBsaXN0cy5mdS1i ZXJsaW4uZGU8bWFpbHRvOnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU+DQpodHRwczovL2xp c3RzLmZ1LWJlcmxpbi5kZS9saXN0aW5mby9zZXFhbi1kZXYNCg0KLS0tDQoNClJlbsOpIFJhaG4N ClBoLkQuIFN0dWRlbnQgKGRlLk5CSSAtIENJQkkpDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KVGVsOiAgKCs0OSkgMzAgODM4IDcyOTc0DQpNYWlsOiByZW5lLnJhaG5AZnUtYmVy bGluLmRlPG1haWx0bzpyZW5lLnJhaG5AZnUtYmVybGluLmRlPg0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCkluc3RpdHV0ZSBvZiBDb21wdXRlciBTY2llbmNlDQpBbGdvcml0aG1p YyBCaW9pbmZvcm1hdGljcyAoQUJJKQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N CkZyZWllIFVuaXZlcnNpdMOkdCBCZXJsaW4NClRha3VzdHJhw59lIDkNCjE0MTk1IEJlcmxpbg0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K --_000_4E140083942A4E42800080E73B6466F1fuberlinde_ Content-Type: text/html; charset="utf-8" Content-ID: <90EC1C0080B23E4CA57BF999C866B962@campus.fu-berlin.de> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KTWhtbSwmbmJzcDsNCjxkaXYgY2xh c3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPm1rc3RlbXAgaXMgYSBs aW51eCBzeXN0ZW0gZnVuY3Rpb24uIE5vdCBzdXJlIGlmIE1pbkdXIHBvcnRzIHRoYXQuIFlvdSBw cm9iYWJseSBoYXZlIHRvIHVzZSB3aW5kb3dzIEFQSSB0byBjcmVhdGUgYSB0ZW1wIGRpcmVjdG9y eSBoZXJlLiBCdXQgdGhpcyBpcyBqdXN0IGEgZ3Vlc3MuPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPklu IHRoZSBmdW5jdGlvbiBgdGVtcEZpbGVOYW1lYCB5b3UgcHJvYmFibHkgaGF2ZSB0byBicmFuY2gg aW50byB0aGUgU1RETElCX1ZTICZuYnNwO3BhcnQgaWYgeW91IGFyZSB1c2luZyBfX01JTkdXMzJf XyB0byBnZXQgdGhlIHdpbmRvd3MgQVBJIHJ1bm5pbmcuPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxi ciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5jaGVlcnMsPC9kaXY+DQo8ZGl2IGNs YXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5SZW7DqTwvZGl2Pg0K PGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNs YXNzPSIiPg0KPGRpdj4NCjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNsYXNzPSIiPg0KPGRpdiBj bGFzcz0iIj5PbiAxMi4gTWFyIDIwMTgsIGF0IDE4OjU0LCBBdWd1c3QgR3VhbmcgJmx0OzxhIGhy ZWY9Im1haWx0bzphdWd1c3QuZ3VhbmdAZ21haWwuY29tIiBjbGFzcz0iIj5hdWd1c3QuZ3VhbmdA Z21haWwuY29tPC9hPiZndDsgd3JvdGU6PC9kaXY+DQo8YnIgY2xhc3M9IkFwcGxlLWludGVyY2hh bmdlLW5ld2xpbmUiPg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgZGlyPSJsdHIiIGNsYXNzPSIiPg0K PGRpdiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iY29sb3I6cmdiKDM0LDM0LDM0KTtmb250LWZhbWls eTphcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMi44cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9u dC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQt d2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWlu ZGVudDowcHg7dGV4dC10cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1zcGFj aW5nOjBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7dGV4dC1kZWNvcmF0aW9u LXN0eWxlOmluaXRpYWw7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOmluaXRpYWw7ZmxvYXQ6bm9uZTtk aXNwbGF5OmlubGluZSIgY2xhc3M9IiI+VGhhbmsNCiB5b3UgdmVyeSBtdWNoIGZvciB0aGUgb2Zm ZXIgdG8gaGVscC48L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjb2xv cjpyZ2IoMzQsMzQsMzQpO2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEy LjhweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250 LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOm5vcm1h bDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtaW5kZW50OjBweDt0ZXh0LXRyYW5zZm9ybTpub25lO3do aXRlLXNwYWNlOm5vcm1hbDt3b3JkLXNwYWNpbmc6MHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1 NSwyNTUsMjU1KTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRlY29yYXRpb24t Y29sb3I6aW5pdGlhbDtmbG9hdDpub25lO2Rpc3BsYXk6aW5saW5lIiBjbGFzcz0iIj48YnIgY2xh c3M9IiI+DQo8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjb2xvcjpy Z2IoMzQsMzQsMzQpO2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEyLjhw eDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZh cmlhbnQtY2Fwczpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOm5vcm1hbDt0 ZXh0LWFsaWduOnN0YXJ0O3RleHQtaW5kZW50OjBweDt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRl LXNwYWNlOm5vcm1hbDt3b3JkLXNwYWNpbmc6MHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwy NTUsMjU1KTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRlY29yYXRpb24tY29s b3I6aW5pdGlhbDtmbG9hdDpub25lO2Rpc3BsYXk6aW5saW5lIiBjbGFzcz0iIj5JDQogaGF2ZSBy ZW1vdmVkIHRoZSAoYSlzeW5jaHJvbm91cyBJL08gYW5kIGFsc28gZG8gbm90IGRlZmluZSBfZ2V0 T0ZsYWcsIG9wZW4gYW5kIG9wZW5UZW1wIGluICZsdDtzZXFhbi9zeXN0ZW0vZmlsZV9zeW5jLmgm Z3Q7IGlmIF9fTUlOR1czMl9fIGlzIHRoZSBjb21waWxlci4gVGhhdCBzb2x2ZWQgdGhhdCBlcnJv ciB3aXRoIGdldHVpZCwgZ2V0Z2lkLCBnZXRldWlkLCBnZXRlZ2lkLjwvc3Bhbj48L2Rpdj4NCjxk aXYgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigzNCwzNCwzNCk7Zm9udC1mYW1pbHk6 YXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTIuOHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQt dmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXdl aWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1pbmRl bnQ6MHB4O3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO3dvcmQtc3BhY2lu ZzowcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbi1z dHlsZTppbml0aWFsO3RleHQtZGVjb3JhdGlvbi1jb2xvcjppbml0aWFsO2Zsb2F0Om5vbmU7ZGlz cGxheTppbmxpbmUiIGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvc3Bhbj48L2Rpdj4NCjxkaXYg Y2xhc3M9IiI+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigzNCwzNCwzNCk7Zm9udC1mYW1pbHk6YXJp YWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTIuOHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFy aWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXdlaWdo dDo0MDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1pbmRlbnQ6 MHB4O3RleHQtdHJhbnNmb3JtOm5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO3dvcmQtc3BhY2luZzow cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbi1zdHls ZTppbml0aWFsO3RleHQtZGVjb3JhdGlvbi1jb2xvcjppbml0aWFsO2Zsb2F0Om5vbmU7ZGlzcGxh eTppbmxpbmUiIGNsYXNzPSIiPk5vdw0KIEkgYW0gZ2V0dGluZyB0aGlzIGVycm9yICgmYW1wOyAy IHdhcm5pbmdzKTo8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjb2xv cjpyZ2IoMzQsMzQsMzQpO2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEy LjhweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250 LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOm5vcm1h bDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtaW5kZW50OjBweDt0ZXh0LXRyYW5zZm9ybTpub25lO3do aXRlLXNwYWNlOm5vcm1hbDt3b3JkLXNwYWNpbmc6MHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1 NSwyNTUsMjU1KTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRlY29yYXRpb24t Y29sb3I6aW5pdGlhbDtmbG9hdDpub25lO2Rpc3BsYXk6aW5saW5lIiBjbGFzcz0iIj4NCjxwcmUg c3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFs OyBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3Bh Y2luZzogbm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10 cmFuc2Zvcm06IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7 IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsiIGNsYXNzPSIiPjxwcmUgc3R5bGU9ImZvbnQtc3R5bGU6 IG5vcm1hbDsgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fw czogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0 LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdv cmQtc3BhY2luZzogMHB4OyB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IHdoaXRlLXNwYWNlOiBwcmUt d3JhcDsiIGNsYXNzPSIiPkVycm9yIGluIHJlLWJ1aWxkaW5nIHZpZ25ldHRlczoNCiAgLi4uDQog ICAgICAgICAgICAgICAgIGZyb20gZmlsZTRmMzQxYzIzNjExMS5jcHA6NDoNCkQ6L3RlbXAvUnRt cFM0NWgxMy9STElCU188d2JyIGNsYXNzPSIiPjIyNThlODQzMzA4L1JTZXFBbi9pbmNsdWRlLzx3 YnIgY2xhc3M9IiI+c2VxYW4vbW1hbi5oOiBJbiBmdW5jdGlvbiAndm9pZCogbW1hcCh2b2lkKiwg c2l6ZV90LCBpbnQsIGludCwgaW50LCBvZmZfdCknOg0KRDovdGVtcC9SdG1wUzQ1aDEzL1JMSUJT Xzx3YnIgY2xhc3M9IiI+MjI1OGU4NDMzMDgvUlNlcUFuL2luY2x1ZGUvPHdiciBjbGFzcz0iIj5z ZXFhbi9tbWFuLmg6MTExOjQ4OiB3YXJuaW5nOiByaWdodCBzaGlmdCBjb3VudCAmZ3Q7PSB3aWR0 aCBvZiB0eXBlDQogICAgICAgICAgICAgICAgICAgICAoRFdPUkQpMCA6IChEV09SRCkoKG9mZiAm Z3Q7Jmd0OyAzMikgJmFtcDsgMHhGRkZGRkZGRkwpOw0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXg0KRDovdGVtcC9SdG1wUzQ1aDEzL1JMSUJTXzx3YnIg Y2xhc3M9IiI+MjI1OGU4NDMzMDgvUlNlcUFuL2luY2x1ZGUvPHdiciBjbGFzcz0iIj5zZXFhbi9t bWFuLmg6MTIwOjUyOiB3YXJuaW5nOiByaWdodCBzaGlmdCBjb3VudCAmZ3Q7PSB3aWR0aCBvZiB0 eXBlDQogICAgICAgICAgICAgICAgICAgICAoRFdPUkQpMCA6IChEV09SRCkoKG1heFNpemUgJmd0 OyZndDsgMzIpICZhbXA7IDB4RkZGRkZGRkZMKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gRDovdGVt cC9SdG1wUzQ1aDEzL1JMSUJTXzx3YnIgY2xhc3M9IiI+MjI1OGU4NDMzMDgvUlNlcUFuL2luY2x1 ZGUvPHdiciBjbGFzcz0iIj5zZXFhbi9iYXNpYy9iYXNpY19kZWJ1Zy5oOjUyOjx3YnIgY2xhc3M9 IiI+MCwNCiAgICAgICAgICAgICAgICAgZnJvbSBEOi90ZW1wL1J0bXBTNDVoMTMvUkxJQlNfPHdi ciBjbGFzcz0iIj4yMjU4ZTg0MzMwOC9SU2VxQW4vaW5jbHVkZS88d2JyIGNsYXNzPSIiPnNlcWFu L2Jhc2ljLmg6NDksDQogICAgICAgICAgICAgICAgIGZyb20gRDovdGVtcC9SdG1wUzQ1aDEzL1JM SUJTXzx3YnIgY2xhc3M9IiI+MjI1OGU4NDMzMDgvUlNlcUFuL2luY2x1ZGUvPHdiciBjbGFzcz0i Ij5zZXFhbi9zZXF1ZW5jZS5oOjc0LA0KICAgICAgICAgICAgICAgICBmcm9tIEQ6L3RlbXAvUnRt cFM0NWgxMy9STElCU188d2JyIGNsYXNzPSIiPjIyNThlODQzMzA4L1JTZXFBbi9pbmNsdWRlLzx3 YnIgY2xhc3M9IiI+c2VxYW4vZmlsZS5oOjY3LA0KICAgICAgICAgICAgICAgICBmcm9tIGZpbGU0 ZjM0MWMyMzYxMTEuY3BwOjQ6DQpEOi90ZW1wL1J0bXBTNDVoMTMvUkxJQlNfPHdiciBjbGFzcz0i Ij4yMjU4ZTg0MzMwOC9SU2VxQW4vaW5jbHVkZS88d2JyIGNsYXNzPSIiPnNlcWFuL2Jhc2ljL2Rl YnVnX3Rlc3Rfc3lzdGVtLjx3YnIgY2xhc3M9IiI+aDogSW4gZnVuY3Rpb24gJ2NvbnN0IGNoYXIq IHNlcWFuOjpDbGFzc1Rlc3Q6Ojx3YnIgY2xhc3M9IiI+dGVtcEZpbGVOYW1lKCknOg0KRDovdGVt cC9SdG1wUzQ1aDEzL1JMSUJTXzx3YnIgY2xhc3M9IiI+MjI1OGU4NDMzMDgvUlNlcUFuL2luY2x1 ZGUvPHdiciBjbGFzcz0iIj5zZXFhbi9iYXNpYy9kZWJ1Z190ZXN0X3N5c3RlbS48d2JyIGNsYXNz PSIiPmg6NzEyOjM4OiBlcnJvcjogJ21rc3RlbXAnIHdhcyBub3QgZGVjbGFyZWQgaW4gdGhpcyBz Y29wZQ0KICAgICBpbnQgX3RtcCA9IG1rc3RlbXAoZmlsZU5hbWVCdWZmZXIpOw0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQptYWtlWzFdOiAqKiogW2ZpbGU0ZjM0MWMy MzYxMTEub10gRXJyb3IgMQ0KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvY3lnZHJpdmUv ZC90ZW1wL1J0bXBJcFFkR0YvPHdiciBjbGFzcz0iIj5zb3VyY2VDcHAteDg2XzY0LXc2NC1taW5n dzMyLTx3YnIgY2xhc3M9IiI+MC4xMi4xNS9zb3VyY2VjcHBfPHdiciBjbGFzcz0iIj40ZjM0MTg4 YTJkNzknDQpkOi9Db21waWxlci9nY2MtNC45LjMvbWluZ3dfPHdiciBjbGFzcz0iIj42NC9iaW4v ZyYjNDM7JiM0MzsgLW02NCAtSSZxdW90O0Q6L1JDb21waWxlL3JlY2VudC9SLzx3YnIgY2xhc3M9 IiI+aW5jbHVkZSZxdW90OyAtRE5ERUJVRyAgIC1JJnF1b3Q7RDovdGVtcC9SdG1wUzQ1aDEzL1JM SUJTXzx3YnIgY2xhc3M9IiI+MjI1OGU4NDMzMDgvUmNwcC9pbmNsdWRlJnF1b3Q7IC1JJnF1b3Q7 RDovdGVtcC9SdG1wUzQ1aDEzL1JMSUJTXzx3YnIgY2xhc3M9IiI+MjI1OGU4NDMzMDgvUlNlcUFu L2luY2x1ZGUmcXVvdDsgLUkmcXVvdDtEOi90ZW1wL1J0bXBJcFFkR0YvPHdiciBjbGFzcz0iIj5z b3VyY2VDcHAteDg2XzY0LXc2NC1taW5ndzMyLTx3YnIgY2xhc3M9IiI+MC4xMi4xNSZxdW90OyAg IC1JJnF1b3Q7ZDovQ29tcGlsZXIvZ2NjLTQuOS4zLzx3YnIgY2xhc3M9IiI+bG9jYWwzMzAvaW5j bHVkZSZxdW90OyAgLXN0ZD1jJiM0MzsmIzQzOzE0ICAgLXBlZGFudGljIC1PMiAtV2FsbCAgLW10 dW5lPWNvcmUyIC1jIGZpbGU0ZjM0MWMyMzYxMTEuY3BwIC1vIGZpbGU0ZjM0MWMyMzYxMTEubw0K bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9jeWdkcml2ZS9kL3RlbXAvUnRtcElwUWRHRi88 d2JyIGNsYXNzPSIiPnNvdXJjZUNwcC14ODZfNjQtdzY0LW1pbmd3MzItPHdiciBjbGFzcz0iIj4w LjEyLjE1L3NvdXJjZWNwcF88d2JyIGNsYXNzPSIiPjRmMzQxODhhMmQ3OSc8L3ByZT48L3ByZT4N Ck1vc3Qgb2YgdGhlIG90aGVyIGVycm9ycyBmcm9tIHRoZSBtaW5ndyBjb21waWxlciBJIGhhdmUg YmVlbiB3b3JraW5nIG9uIGhhdmUgYmVlbiBpbiB0aGlzIHNlcWFuL2Jhc2ljL2RlYnVnX3Rlc3Rf c3lzdGVtLmggZmlsZS48L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJj b2xvcjpyZ2IoMzQsMzQsMzQpO2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXpl OjEyLjhweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtm b250LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOm5v cm1hbDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtaW5kZW50OjBweDt0ZXh0LXRyYW5zZm9ybTpub25l O3doaXRlLXNwYWNlOm5vcm1hbDt3b3JkLXNwYWNpbmc6MHB4O2JhY2tncm91bmQtY29sb3I6cmdi KDI1NSwyNTUsMjU1KTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRlY29yYXRp b24tY29sb3I6aW5pdGlhbDtmbG9hdDpub25lO2Rpc3BsYXk6aW5saW5lIiBjbGFzcz0iIj48YnIg Y2xhc3M9IiI+DQo8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjb2xv cjpyZ2IoMzQsMzQsMzQpO2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEy LjhweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250 LXZhcmlhbnQtY2Fwczpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xldHRlci1zcGFjaW5nOm5vcm1h bDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtaW5kZW50OjBweDt0ZXh0LXRyYW5zZm9ybTpub25lO3do aXRlLXNwYWNlOm5vcm1hbDt3b3JkLXNwYWNpbmc6MHB4O2JhY2tncm91bmQtY29sb3I6cmdiKDI1 NSwyNTUsMjU1KTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6aW5pdGlhbDt0ZXh0LWRlY29yYXRpb24t Y29sb3I6aW5pdGlhbDtmbG9hdDpub25lO2Rpc3BsYXk6aW5saW5lIiBjbGFzcz0iIj5UaGFua3Ms PC9zcGFuPjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iY29sb3I6cmdiKDM0LDM0 LDM0KTtmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMi44cHg7Zm9udC1z dHlsZTpub3JtYWw7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LWNh cHM6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7dGV4dC1hbGln bjpzdGFydDt0ZXh0LWluZGVudDowcHg7dGV4dC10cmFuc2Zvcm06bm9uZTt3aGl0ZS1zcGFjZTpu b3JtYWw7d29yZC1zcGFjaW5nOjBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7 dGV4dC1kZWNvcmF0aW9uLXN0eWxlOmluaXRpYWw7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOmluaXRp YWw7ZmxvYXQ6bm9uZTtkaXNwbGF5OmlubGluZSIgY2xhc3M9IiI+YXVndXN0PC9zcGFuPjwvZGl2 Pg0KPGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9Imdt YWlsX3F1b3RlIj5PbiBUdWUsIE1hciA2LCAyMDE4IGF0IDY6MDAgQU0sIDxzcGFuIGRpcj0ibHRy IiBjbGFzcz0iIj4NCiZsdDs8YSBocmVmPSJtYWlsdG86c2VxYW4tZGV2LXJlcXVlc3RAbGlzdHMu ZnUtYmVybGluLmRlIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+c2VxYW4tZGV2LXJlcXVlc3RA bGlzdHMuZnUtPHdiciBjbGFzcz0iIj5iZXJsaW4uZGU8L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJy IGNsYXNzPSIiPg0KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2lu OjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQp O3BhZGRpbmctbGVmdDoxZXgiPg0KU2VuZCBzZXFhbi1kZXYgbWFpbGluZyBsaXN0IHN1Ym1pc3Np b25zIHRvPGJyIGNsYXNzPSIiPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDxhIGhyZWY9 Im1haWx0bzpzZXFhbi1kZXZAbGlzdHMuZnUtYmVybGluLmRlIiB0YXJnZXQ9Il9ibGFuayIgY2xh c3M9IiI+c2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZTwvYT48YnIgY2xhc3M9IiI+DQo8YnIg Y2xhc3M9IiI+DQpUbyBzdWJzY3JpYmUgb3IgdW5zdWJzY3JpYmUgdmlhIHRoZSBXb3JsZCBXaWRl IFdlYiwgdmlzaXQ8YnIgY2xhc3M9IiI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPGEg aHJlZj0iaHR0cHM6Ly9saXN0cy5mdS1iZXJsaW4uZGUvbGlzdGluZm8vc2VxYW4tZGV2IiByZWw9 Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4NCmh0dHBzOi8vbGlzdHMuZnUt YmVybGluLmRlL2xpczx3YnIgY2xhc3M9IiI+dGluZm8vc2VxYW4tZGV2PC9hPjxiciBjbGFzcz0i Ij4NCm9yLCB2aWEgZW1haWwsIHNlbmQgYSBtZXNzYWdlIHdpdGggc3ViamVjdCBvciBib2R5ICdo ZWxwJyB0bzxiciBjbGFzcz0iIj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA8YSBocmVm PSJtYWlsdG86c2VxYW4tZGV2LXJlcXVlc3RAbGlzdHMuZnUtYmVybGluLmRlIiB0YXJnZXQ9Il9i bGFuayIgY2xhc3M9IiI+DQpzZXFhbi1kZXYtcmVxdWVzdEBsaXN0cy5mdS1iZXI8d2JyIGNsYXNz PSIiPmxpbi5kZTwvYT48YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpZb3UgY2FuIHJlYWNo IHRoZSBwZXJzb24gbWFuYWdpbmcgdGhlIGxpc3QgYXQ8YnIgY2xhc3M9IiI+DQombmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgPGEgaHJlZj0ibWFpbHRvOnNlcWFuLWRldi1vd25lckBsaXN0cy5m dS1iZXJsaW4uZGUiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4NCnNlcWFuLWRldi1vd25lckBs aXN0cy5mdS1iZXJsaTx3YnIgY2xhc3M9IiI+bi5kZTwvYT48YnIgY2xhc3M9IiI+DQo8YnIgY2xh c3M9IiI+DQpXaGVuIHJlcGx5aW5nLCBwbGVhc2UgZWRpdCB5b3VyIFN1YmplY3QgbGluZSBzbyBp dCBpcyBtb3JlIHNwZWNpZmljPGJyIGNsYXNzPSIiPg0KdGhhbiAmcXVvdDtSZTogQ29udGVudHMg b2Ygc2VxYW4tZGV2IGRpZ2VzdC4uLiZxdW90OzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4N CjxiciBjbGFzcz0iIj4NClRvZGF5J3MgVG9waWNzOjxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0i Ij4NCiZuYnNwOyAmbmJzcDsxLiBSZTogcGxhY2luZyBzZXFhbiBoZWFkZXJzIGludG8gUiBwYWNr YWdlIChBdWd1c3QgR3VhbmcpPGJyIGNsYXNzPSIiPg0KJm5ic3A7ICZuYnNwOzIuIFJlOiBwbGFj aW5nIHNlcWFuIGhlYWRlcnMgaW50byBSIHBhY2thZ2UgKFJhaG4pPGJyIGNsYXNzPSIiPg0KPGJy IGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t PHdiciBjbGFzcz0iIj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08d2JyIGNsYXNzPSIi Pi0tLS0tLS0tLS08YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpNZXNzYWdlOiAxPGJyIGNs YXNzPSIiPg0KRGF0ZTogTW9uLCA1IE1hciAyMDE4IDEyOjAxOjI3IC0wNTAwPGJyIGNsYXNzPSIi Pg0KRnJvbTogQXVndXN0IEd1YW5nICZsdDs8YSBocmVmPSJtYWlsdG86YXVndXN0Lmd1YW5nQGdt YWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmF1Z3VzdC5ndWFuZ0BnbWFpbC5jb208 L2E+Jmd0OzxiciBjbGFzcz0iIj4NClRvOiBIYW5uZXMgSGF1c3dlZGVsbCAmbHQ7PGEgaHJlZj0i bWFpbHRvOmhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kZSIgdGFyZ2V0PSJfYmxhbmsiIGNs YXNzPSIiPmhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kPHdiciBjbGFzcz0iIj5lPC9hPiZn dDs8YnIgY2xhc3M9IiI+DQpDYzogU2VxQW4gRGV2ZWxvcG1lbnQgJmx0OzxhIGhyZWY9Im1haWx0 bzpzZXFhbi1kZXZAbGlzdHMuZnUtYmVybGluLmRlIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+ c2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZTwvYT4mZ3Q7PGJyIGNsYXNzPSIiPg0KU3ViamVj dDogUmU6IFtTZXFhbi1kZXZdIHBsYWNpbmcgc2VxYW4gaGVhZGVycyBpbnRvIFIgcGFja2FnZTxi ciBjbGFzcz0iIj4NCk1lc3NhZ2UtSUQ6PGJyIGNsYXNzPSIiPg0KJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZsdDtDQUE9PGEgaHJlZj0ibWFpbHRvOjR0RV9LUTRfdSUyQlR3T1dScDNvZmFL Qzdub21NS0FwU0pDckNOaTNiSGJ2ODJ2RWdAbWFpbC5nbWFpbC5jb20iIHRhcmdldD0iX2JsYW5r IiBjbGFzcz0iIj40dEVfS1E0X3UmIzQzO1R3T1dScDNvZmFLQzdubzx3YnIgY2xhc3M9IiI+bU1L QXBTSkNyQ05pM2JIYnY4MnZFZ0BtYWlsLjx3YnIgY2xhc3M9IiI+Z21haWwuY29tPC9hPiZndDs8 YnIgY2xhc3M9IiI+DQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9JnF1b3Q7dXRm LTgmcXVvdDs8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpUaGFua3MsIEkgaGF2ZSBpbmNs dWRlZCB0aGUgbGljZW5zZSBmaWxlIGFuZCBhIG5vdGljZSBhYm91dCBjaXRhdGlvbnMgbm93Ljxi ciBjbGFzcz0iIj4NCldpbGwgdGhlcmUgYmUgc3VwcG9ydCBmb3Igc2VxYW4vMi40IGZvciBtaW5n dz8gSSBzYXcgdGhhdCB0aGVyZSB3YXMgb248YnIgY2xhc3M9IiI+DQpvbGRlciB2ZXJzaW9ucy4g VGhlIHJlYXNvbiBJJ20gYXNraW5nIGlzIHRoYXQgUiBwYWNrYWdlcyBzdWJtaXR0ZWQgdG88YnIg Y2xhc3M9IiI+DQpCaW9jb25kdWN0b3IvQ1JBTiBoYXZlIHRvIGJ1aWxkIGFuZCBwYXNzIGNoZWNr cyBvbiBMaW51eCwgT1MgYW5kIFdpbmRvd3MsPGJyIGNsYXNzPSIiPg0KYnV0IG9uIFdpbmRvd3Mg dGhlIHBhY2thZ2VzIGFyZSB0ZXN0ZWQgd2l0aCB0aGUgbWluZ3cgY29tcGlsZXIgYW5kIEk8YnIg Y2xhc3M9IiI+DQpoYXZlbid0IGZvdW5kIGEgd2F5IGFyb3VuZCBpdC48YnIgY2xhc3M9IiI+DQo8 YnIgY2xhc3M9IiI+DQpJZiBub3QsIHdvdWxkIEkgYmUgYWJsZSB0byBnZXQgc29tZSBoZWxwIHdp dGggd3JpdGluZyBzdXBwb3J0IGZvciBpdD8gSTxiciBjbGFzcz0iIj4NCmhhdmUgYmVlbiB0cnlp bmcgdG8gYWRkcmVzcyB2YXJpb3VzIGlzc3VlcyBzcGVjaWZpYyB0byBtaW5ndyBidXQgYW0gbm90 PGJyIGNsYXNzPSIiPg0KZmFtaWxpYXIgd2l0aCBXaW5kb3dzIHNwZWNpZmljIGltcGxlbWVudGF0 aW9ucyBhbmQgYW0gZ2V0dGluZyB3YXkgb3V0IG9mIG15PGJyIGNsYXNzPSIiPg0KZGVwdGguIFNv IGZhciBJIGhhdmUgYWRkZWQgbW1hbi13aW4zMiB0byByZXBsYWNlIHN5cy9tbWFuLmggYW5kIGNo YW5nZWQ8YnIgY2xhc3M9IiI+DQpzb21lIGVudW0gdmFsdWVzIHRvIG5vdCB1c2UgcG9zaXhfbWFk dmlzZS4gVGhlIGN1cnJlbnQgZXJyb3IgSSBhbSB0cnlpbmcgdG88YnIgY2xhc3M9IiI+DQp0YWNr bGUgaXMgdGhlIGZhY3QgdGhhdCBnZXR1aWQsIGdldGV1aWQsIGdldGdpZCBhbmQgZ2V0ZWdpZCBh cmUgVW5peC1vbmx5LjxiciBjbGFzcz0iIj4NCkl0IGFwcGVhcnMgSSBjYW4gZWl0aGVyIHdyaXRl IG15IG93biBtYWNyb3MgZm9yIHRoZW0gKDxiciBjbGFzcz0iIj4NCjxhIGhyZWY9Imh0dHBzOi8v c3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE1OTQ3NDYvd2luMzItZXF1aXZhbGVudC1vZi1n ZXR1aWQiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmh0dHBzOi8v c3RhY2tvdmVyZmxvdy5jb20vcXVlczx3YnIgY2xhc3M9IiI+dGlvbnMvMTU5NDc0Ni93aW4zMi1l cXVpdmFsZW50PHdiciBjbGFzcz0iIj4tb2YtZ2V0dWlkPC9hPikgb3I8YnIgY2xhc3M9IiI+DQpp bnN0YWxsIExpYkdXMzIgZm9yIHRoZW0gKDxhIGhyZWY9Imh0dHA6Ly9nbnV3aW4zMi5zb3VyY2Vm b3JnZS8iIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmh0dHA6Ly9n bnV3aW4zMi5zb3VyY2Vmb3JnZTwvYT4uPGJyIGNsYXNzPSIiPg0KbmV0L3BhY2thZ2VzL2xpYmd3 MzJjLmh0bSkuIElzIHRoZXJlIGFuIG9wdGlvbiB0aGF0IHdvdWxkIGJlIGJldHRlciBhbmQgY2Fu PGJyIGNsYXNzPSIiPg0KSSBnZXQgc29tZSBhZHZpY2Ugb24gaG93IEkgd291bGQgaW1wbGVtZW50 IGl0PzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCnRoYW5rcyw8YnIgY2xhc3M9IiI+DQph dWd1c3Q8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpPbiBNb24sIEZlYiAyNiwgMjAxOCBh dCA3OjQ5IEFNLCBIYW5uZXMgSGF1c3dlZGVsbCAmbHQ7PGJyIGNsYXNzPSIiPg0KPGEgaHJlZj0i bWFpbHRvOmhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kZSIgdGFyZ2V0PSJfYmxhbmsiIGNs YXNzPSIiPmhhbm5lcy5oYXVzd2VkZWxsQGZ1LWJlcmxpbi5kZTwvYT48d2JyIGNsYXNzPSIiPiZn dDsgd3JvdGU6PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KJmd0OyBBbSBEb25uZXJzdGFn LCAyMi4gRmVicnVhciAyMDE4LCAxMTowNTozOCBzY2hyaWViIEF1Z3VzdCBHdWFuZzo8YnIgY2xh c3M9IiI+DQomZ3Q7ICZndDsgSGksPGJyIGNsYXNzPSIiPg0KJmd0OyAmZ3Q7PGJyIGNsYXNzPSIi Pg0KJmd0OyAmZ3Q7IEkgd291bGQgbGlrZSB0byBwYWNrYWdlIHRoZSBTZXFBbiBoZWFkZXJzIGZv ciBlYXN5IHVzZSBpbiBhIGZldyBSPGJyIGNsYXNzPSIiPg0KJmd0OyBwYWNrYWdlczxiciBjbGFz cz0iIj4NCiZndDsgJmd0OyBJIHdpbGwgYmUgd3JpdGluZyB3aXRoIG15IHRlYW0sIHRoZSBDb21w dXRhdGlvbmFsIEJpb2xvZ3kgQ29yZSBhdCBCcm93bjxiciBjbGFzcz0iIj4NCiZndDsgJmd0OyBV bml2ZXJzaXR5IGluIHRoZSBVUy4gV291bGQgdGhpcyBiZSBvayB3aXRoIHlvdSBhbGw/IEkgYW0g bGVhdmluZyB0aGU8YnIgY2xhc3M9IiI+DQomZ3Q7ICZndDsgbGljZW5zZSBhcyBCU0QgMyBjbGF1 c2UgYXMgd2VsbCwgYW5kIGlmIHlvdSB3b3VsZCBsaWtlIHRvIG1ha2UgYW55PGJyIGNsYXNzPSIi Pg0KJmd0OyAmZ3Q7IGFkZGl0aW9ucyB0byB0aGUgbGljZW5zZSBwbGVhc2UgbGV0IG1lIGtub3cu PGJyIGNsYXNzPSIiPg0KJmd0OyAmZ3Q7PGJyIGNsYXNzPSIiPg0KJmd0OyAmZ3Q7IFlvdSBjYW4g dmlldyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcmVwb3NpdG9yeSBoZXJlOjxiciBjbGFzcz0i Ij4NCiZndDsgJmd0OyA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY29tcGJpb2NvcmUvUlNl cUFuIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4NCmh0dHBzOi8v Z2l0aHViLmNvbS9jb21wYmlvY29yZTx3YnIgY2xhc3M9IiI+L1JTZXFBbjwvYT48YnIgY2xhc3M9 IiI+DQomZ3Q7ICZndDs8YnIgY2xhc3M9IiI+DQomZ3Q7ICZndDsgVGhhbmtzLDxiciBjbGFzcz0i Ij4NCiZndDsgJmd0OyBhdWd1c3Q8YnIgY2xhc3M9IiI+DQomZ3Q7PGJyIGNsYXNzPSIiPg0KJmd0 OyBEZWFyIEF1Z3VzdCw8YnIgY2xhc3M9IiI+DQomZ3Q7PGJyIGNsYXNzPSIiPg0KJmd0OyB0aGF0 J3MgZ3JlYXQgdG8gaGVhciwgZmVlbCB2ZXJ5IGZyZWUgdG8gaW5jbHVkZSBpdCBpbiB5b3VyIHBh Y2thZ2UuIEFzPGJyIGNsYXNzPSIiPg0KJmd0OyBsb25nIGFzPGJyIGNsYXNzPSIiPg0KJmd0OyB0 aGUgTElDRU5TRSBmaWxlIGlzIHNoaXBwZWQgd2l0aCB0aGUgcGFja2FnZSB0aGVyZSBpcyBubyBw cm9ibGVtLiBQbGVhc2U8YnIgY2xhc3M9IiI+DQomZ3Q7IGFsc288YnIgY2xhc3M9IiI+DQomZ3Q7 IGluY2x1ZGUgYSBsaW5rIHRvIDxhIGhyZWY9Imh0dHA6Ly93d3cuc2VxYW4uZGUvIiByZWw9Im5v cmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4NCnd3dy5zZXFhbi5kZTwvYT4gaW4g eW91ciBkb2N1bWVudGF0aW9uIGFuZCBpZiBwb3NzaWJsZSBhbHNvPGJyIGNsYXNzPSIiPg0KJmd0 OyB0aGU8YnIgY2xhc3M9IiI+DQomZ3Q7IGZvbGxvd2luZyBub3RlOjxiciBjbGFzcz0iIj4NCiZn dDsgJnF1b3Q7UGxlYXNlIGRvIG5vdCBmb3JnZXQgdG8gY2l0ZSBTZXFBbiBpZiB5b3UgdXNlIHRo aXMgcGFja2FnZSBpbiB5b3VyPGJyIGNsYXNzPSIiPg0KJmd0OyBhY2VkZW1pYzxiciBjbGFzcz0i Ij4NCiZndDsgd29yaywgZXZlbiBpZiBvbmx5IGluIGF1eGlsaWFyeSB0b29scyBvciBwaXBlbGlu ZXM6PGJyIGNsYXNzPSIiPg0KJmd0OyA8YSBocmVmPSJodHRwczovL2RvaS5vcmcvMTAuMTAxNi9q LmpiaW90ZWMuMjAxNy4wNy4wMTciIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIGNs YXNzPSIiPg0KaHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai5qYmlvPHdiciBjbGFzcz0iIj50ZWMu MjAxNy4wNy4wMTc8L2E+JnF1b3Q7PGJyIGNsYXNzPSIiPg0KJmd0OzxiciBjbGFzcz0iIj4NCiZn dDsgVGhhdCB3b3VsZCBiZSBncmVhdCE8YnIgY2xhc3M9IiI+DQomZ3Q7PGJyIGNsYXNzPSIiPg0K Jmd0OyBUaGFuayB5b3UsPGJyIGNsYXNzPSIiPg0KJmd0OyBIYW5uZXM8YnIgY2xhc3M9IiI+DQom Z3Q7IC0tPGJyIGNsYXNzPSIiPg0KJmd0OyBIYW5uZXMgSGF1c3dlZGVsbDxiciBjbGFzcz0iIj4N CiZndDs8YnIgY2xhc3M9IiI+DQomZ3Q7IFNjaWVudGlmaWMgc3RhZmYgJmFtcDsgUGhEIGNhbmRp ZGF0ZTxiciBjbGFzcz0iIj4NCiZndDsgRnJlaWUgVW5pdmVyc2l0P3QgQmVybGluIC8gTWF4IFBs YW5jayBJbnN0aXR1dGUgZm9yIE1vbGVjdWxhciBHZW5ldGljczxiciBjbGFzcz0iIj4NCiZndDs8 YnIgY2xhc3M9IiI+DQomZ3Q7IGFkZHJlc3MmbmJzcDsgJm5ic3A7ICZuYnNwO0luc3RpdHV0IGY/ ciBJbmZvcm1hdGlrPGJyIGNsYXNzPSIiPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO1Rha3VzdHJhP2UgOTxiciBjbGFzcz0iIj4NCiZndDsmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtSb29tIDAxOTxiciBj bGFzcz0iIj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsxNDE5NSBCZXJsaW48YnIgY2xhc3M9IiI+DQomZ3Q7IHRlbGVwaG9uZSZuYnNwOyAmbmJz cDs8YSBocmVmPSJ0ZWw6JTJCNDklMjAlMjgwJTI5MzAlMjA4MzgtNzUyNDEiIHZhbHVlPSImIzQz OzQ5MzA4Mzg3NTI0MSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPiYjNDM7NDkgKDApMzAgODM4 LTc1MjQxPC9hPjxiciBjbGFzcz0iIj4NCiZndDsgZmF4Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOzxhIGhyZWY9InRlbDolMkI0OSUyMCUyODAlMjkzMCUyMDgzOC03NTIxOCIgdmFs dWU9IiYjNDM7NDkzMDgzODc1MjE4IiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+JiM0Mzs0OSAo MCkzMCA4MzgtNzUyMTg8L2E+PGJyIGNsYXNzPSIiPg0KJmd0OyBlLW1haWwmbmJzcDsgJm5ic3A7 ICZuYnNwOyA8YSBocmVmPSJtYWlsdG86aGFubmVzLmhhdXN3ZWRlbGxAZnUtYmVybGluLmRlIiB0 YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+DQpoYW5uZXMuaGF1c3dlZGVsbEBmdS1iZXJsaW4uZGU8 L2E+PGJyIGNsYXNzPSIiPg0KJmd0OzxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxiciBj bGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCi0tPGJyIGNsYXNzPSIiPg0KQXVndXN0IEd1YW5nPGJy IGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KSE1DIENsYXNzIG9mIDIwMTI8YnIgY2xhc3M9IiI+ DQpNYXRoZW1hdGljczxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCkJyb3duIFVuaXZlcnNp dHk8YnIgY2xhc3M9IiI+DQpBcHBsaWVkIE1hdGhlbWF0aWNzPGJyIGNsYXNzPSIiPg0KLS0tLS0t LS0tLS0tLS0gbmV4dCBwYXJ0IC0tLS0tLS0tLS0tLS0tPGJyIGNsYXNzPSIiPg0KQW4gSFRNTCBh dHRhY2htZW50IHdhcyBzY3J1YmJlZC4uLjxiciBjbGFzcz0iIj4NClVSTDogJmx0OzxhIGhyZWY9 Imh0dHBzOi8vbGlzdHMuZnUtYmVybGluLmRlL3BpcGVybWFpbC9zZXFhbi1kZXYvYXR0YWNobWVu dHMvMjAxODAzMDUvMjI3YTExMDUvYXR0YWNobWVudC5odG1sIiByZWw9Im5vcmVmZXJyZXIiIHRh cmdldD0iX2JsYW5rIiBjbGFzcz0iIj5odHRwczovL2xpc3RzLmZ1LWJlcmxpbi5kZS9waTx3YnIg Y2xhc3M9IiI+cGVybWFpbC9zZXFhbi1kZXYvYXR0YWNobWVudHMvPHdiciBjbGFzcz0iIj4yMDE4 MDMwNS8yMjdhMTEwNS9hdHRhY2htZW50Ljx3YnIgY2xhc3M9IiI+aHRtbDwvYT4mZ3Q7PGJyIGNs YXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJy IGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KTWVzc2FnZTogMjxiciBjbGFzcz0iIj4NCkRhdGU6 IFR1ZSwgMDYgTWFyIDIwMTggMDk6NTg6MTQgJiM0MzswMTAwPGJyIGNsYXNzPSIiPg0KRnJvbTog UmFobiwgUmVuPyAmbHQ7PGEgaHJlZj0ibWFpbHRvOlJlbmUuUmFobkBmdS1iZXJsaW4uZGUiIHRh cmdldD0iX2JsYW5rIiBjbGFzcz0iIj5SZW5lLlJhaG5AZnUtYmVybGluLmRlPC9hPiZndDs8YnIg Y2xhc3M9IiI+DQpUbzogU2VxQW4gRGV2ZWxvcG1lbnQgJmx0OzxhIGhyZWY9Im1haWx0bzpzZXFh bi1kZXZAbGlzdHMuZnUtYmVybGluLmRlIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+c2VxYW4t ZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZTwvYT4mZ3Q7PGJyIGNsYXNzPSIiPg0KU3ViamVjdDogUmU6 IFtTZXFhbi1kZXZdIHBsYWNpbmcgc2VxYW4gaGVhZGVycyBpbnRvIFIgcGFja2FnZTxiciBjbGFz cz0iIj4NCk1lc3NhZ2UtSUQ6ICZsdDs8YSBocmVmPSJtYWlsdG86RTJCRjJCMEQtNDVBNi00OTNG LUI3M0ItRjUxRkYxREQzOTA0QGZ1LWJlcmxpbi5kZSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIi PkUyQkYyQjBELTQ1QTYtNDkzRi1CNzNCLUY1MUZGPHdiciBjbGFzcz0iIj4xREQzOTA0QGZ1LWJl cmxpbi5kZTwvYT4mZ3Q7PGJyIGNsYXNzPSIiPg0KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PSZxdW90O3V0Zi04JnF1b3Q7PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KSGkg QXVndXN0LDxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCm1hbnkgdGhhbmtzIGZvciB5b3Vy IGVmZm9ydHMuIEkgYW0gYWZyYWlkLCB0aGF0IHRoaXMgaXMgYWN0dWFsbHkgcXVpdGUgYSBjaGFs bGVuZ2UgeW91IGFyZSB0cnlpbmcgaGVyZS48YnIgY2xhc3M9IiI+DQpXZSBvbmNlIGhhZCBzdXBw b3J0IGZvciBNaW5HVywgYnV0IGl0IGNhdXNlZCBtb3JlIHByb2JsZW1zIHRoYW4gYnJpbmdpbmcg YW55IGJlbmVmaXQuIEhlbmNlIHdlIHJlbW92ZWQgdGhlIHN1cHBvcnQgZnJvbSBpdCwgYWxzbyBn aXZlbiBieSB0aGUgZmFjdCB0aGF0IHRoZXJlIHdhcyBhbHdheXMgYSBmcmVlIHZlcnNpb24gb2Yg VmlzdWFsIFN0dWRpbyBhdmFpbGFibGUuPGJyIGNsYXNzPSIiPg0KT2YgY291cnNlLCBpZiB5b3Ug YXJlIGVhZ2VyIHRvIHRhY2tsZSB0aGlzIHlvdSB3aWxsIGdldCBzdXBwb3J0IGZyb20gdXMuIEJ1 dCBob25lc3RseSwgd2UgbmVlZCB0byByZWFsbHkgY2hlY2sgaWYgd2UgY2FuIGFkZCB0aGlzIGlu dG8gdGhlIGNvcmUgbGlicmFyeSBpZiBpdCB3aWxsIGV2ZW4gd29yay48YnIgY2xhc3M9IiI+DQpQ bGVhc2Ugbm90ZSwgdGhhdCB0aGVyZSB3aWxsIGJlIG9ubHkgcGF0Y2ggbGV2ZWwgcmVsZWFzZXMg bGVmdCBmb3IgdGhlIDIueCBjeWNsZS4gU28gaGF2aW5nIHRoaXMgTWluR1cgcG9ydCBpbiBhIHNl cGFyYXRlIHJlcG9zaXRvcnkgY291bGQgYmUgYSBjb252ZW5pZW50IHdheSBmb3IgYm90aCBzaWRl cy48YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpXZSBhcmUgY3VycmVudGx5IHdvcmtpbmcg b24gU2VxQW4gMyBhbmQgdGhpcyB3aWxsIGJlIG5vIGNvbXBhdGlibGUgd2l0aCBTZXFBbiAyIGFu ZCByZXF1aXJlcyBjJiM0MzsmIzQzOzE3LzIwLiBJIGFtIGFmcmFpZCB0aGlzIHdpbGwgYmUgYSBz dG9wcGVyIGZvciBNaW5HVyBmb3IgcXVpdGUgc29tZSB0aW1lLjxiciBjbGFzcz0iIj4NCkJ1dCwg SSB0aGluayBpZiBXaW5kb3dzIGNvbWVzIHdpdGggYSBsaW51eCBzdWJzeXN0ZW0gdGhlc2UgZGF5 cyBpdCBjb3VsZCBiZSB3b3J0aCBpdCB0byBjaGVjayBpZiBSIG1pZ2h0Jm5ic3A7IHBhY2thZ2Ug dXNpbmcgc3RhbmRhcmQgbGludXggb24gV2luZG93cyBhbnl3YXkgaW4gdGhlIGZ1dHVyZSAoTm90 IHN1cmUgaWYgdGhleSBoYXZlIGl0IG9uIHRoZWlyIHdpc2hsaXN0IGFscmVhZHkpLjxiciBjbGFz cz0iIj4NCjxiciBjbGFzcz0iIj4NCkhvd2V2ZXIsIHdlIGFyZSBzdGlsbCBoYXBweSB0byBhc3Np c3QgeW91IHRvIHRyeSBvdXQgbWluR1cgY29tcGlsZXIuIFBsZWFzZSBsZXQgdXMga25vdyB0aGUg Y29tcGlsZXIgZXJyb3JzIHlvdSByZWNlaXZlLCBhbmQgdGhlIGludm9rZWQgYnVpbGQgY29tbWFu ZCwgc28gd2UgY2FuIGhhdmUgYSBjbG9zZXIgbG9vayBvbiBvdXIgc2lkZS48YnIgY2xhc3M9IiI+ DQpGb3IgdGhlIHJlc3BlY3RpdmUgZXJyb3IgeW91IGFyZSByZWNlaXZpbmcsIGl0IHNlZW1zIHRo ZSBvbmx5IHBsYWNlIHRoYXQgaXMgdXNpbmcgaXQgaXMgdGhlICZsdDtzZXFhbi9zeXN0ZW0vZmls ZV9zeW5jLmgmZ3Q7IGhlYWRlciBhbmQgc29tZSBvdGhlciBoZWFkZXJzIGRvaW5nIHNvbWUgZm9y d2FyZCBkZWNsYXJhdGlvbiBvZiBpdC48YnIgY2xhc3M9IiI+DQpBcyBmYXIgYXMgSSBhbSBjb25j ZXJuZWQsIHRoaXMgaXMgb2xkIGNvZGUgYW5kIGRvZXMgbm90IHJlYWxseSBuZWVkIHRvIGJlIHNo aXBwZWQgaW4geW91ciBwcm9qZWN0LiBTbyB5b3UgY291bGQgd3JhcCBpdCBpbnRvIG1hY3Jvcywg dGhhdCBpZiBNaW5HVyBpcyB1c2VkIHRoZXNlIGNvZGUgcGF0aHMgYXJlIG5vdCBldmFsdWF0ZWQu PGJyIGNsYXNzPSIiPg0KV2UgaGF2ZSBhIHZpcnR1YWwgc3RyZWFtIGNsYXNzIG5vdywgd2hpY2gg aXMgYSBiZXR0ZXIgYWx0ZXJuYXRpdmUgZm9yIHRoZSBGaWxlIGNsYXNzLjxiciBjbGFzcz0iIj4N CkFueWhvdywgSSBjb3VsZG4ndCBmaW5kIGFueSBwbGFjZSB3aGVyZSB3ZSBkaXJlY3RseSB1c2Ug RmlsZSZsdDtTeW5jfEFzeW5jJmd0OyBmb3IgKGEpc3luY2hyb25vdXMgSS9PIHNvIGl0IHdvdWxk IGJlIHNhZmUgdG8gcmVtb3ZlIGZvciB0aGUgUiBwb3J0LjxiciBjbGFzcz0iIj4NCjxiciBjbGFz cz0iIj4NCkxldCBtZSBrbm93IGlmIHRoZXJlIGlzIGFueXRoaW5nIG1vcmUsIGJ1dCBwbGVhc2Ug YmVhciBpbiBtaW5kLCB0aGF0IHdlIGFyZSBxdWl0ZSBidXN5IHJpZ2h0IG5vdywgYW5kIGl0IGNv dWxkIHRha2UgYSB3aGlsZSBmb3IgdXMgdG8gcmVzcG9uZCB3aXRoIGEgcHJvcGVyIHNvbHV0aW9u LjxiciBjbGFzcz0iIj4NCkVzcGVjaWFsbHkgaW4gdGhlIG5leHQgdHdvIHdlZWtzIDspPGJyIGNs YXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KQmVzdCw8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+ DQpSZW4/PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KT24gNS4g TWFyIDIwMTgsIGF0IDE4OjAxLCBBdWd1c3QgR3VhbmcgJmx0OzxhIGhyZWY9Im1haWx0bzphdWd1 c3QuZ3VhbmdAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+YXVndXN0Lmd1YW5n QGdtYWlsLmNvbTwvYT4mbHQ7bWFpbHRvPHdiciBjbGFzcz0iIj46PGEgaHJlZj0ibWFpbHRvOmF1 Z3VzdC5ndWFuZ0BnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj5hdWd1c3QuZ3Vh bmdAZ21haWwuY29tPC9hPiZndDsmZ3Q7IHdyb3RlOjxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0i Ij4NClRoYW5rcywgSSBoYXZlIGluY2x1ZGVkIHRoZSBsaWNlbnNlIGZpbGUgYW5kIGEgbm90aWNl IGFib3V0IGNpdGF0aW9ucyBub3cuIFdpbGwgdGhlcmUgYmUgc3VwcG9ydCBmb3Igc2VxYW4vMi40 IGZvciBtaW5ndz8gSSBzYXcgdGhhdCB0aGVyZSB3YXMgb24gb2xkZXIgdmVyc2lvbnMuIFRoZSBy ZWFzb24gSSdtIGFza2luZyBpcyB0aGF0IFIgcGFja2FnZXMgc3VibWl0dGVkIHRvIEJpb2NvbmR1 Y3Rvci9DUkFOIGhhdmUgdG8gYnVpbGQgYW5kIHBhc3MNCiBjaGVja3Mgb24gTGludXgsIE9TIGFu ZCBXaW5kb3dzLCBidXQgb24gV2luZG93cyB0aGUgcGFja2FnZXMgYXJlIHRlc3RlZCB3aXRoIHRo ZSBtaW5ndyBjb21waWxlciBhbmQgSSBoYXZlbid0IGZvdW5kIGEgd2F5IGFyb3VuZCBpdC48YnIg Y2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpJZiBub3QsIHdvdWxkIEkgYmUgYWJsZSB0byBnZXQg c29tZSBoZWxwIHdpdGggd3JpdGluZyBzdXBwb3J0IGZvciBpdD8gSSBoYXZlIGJlZW4gdHJ5aW5n IHRvIGFkZHJlc3MgdmFyaW91cyBpc3N1ZXMgc3BlY2lmaWMgdG8gbWluZ3cgYnV0IGFtIG5vdCBm YW1pbGlhciB3aXRoIFdpbmRvd3Mgc3BlY2lmaWMgaW1wbGVtZW50YXRpb25zIGFuZCBhbSBnZXR0 aW5nIHdheSBvdXQgb2YgbXkgZGVwdGguIFNvIGZhciBJIGhhdmUgYWRkZWQgbW1hbi13aW4zMg0K IHRvIHJlcGxhY2Ugc3lzL21tYW4uaCBhbmQgY2hhbmdlZCBzb21lIGVudW0gdmFsdWVzIHRvIG5v dCB1c2UgcG9zaXhfbWFkdmlzZS4gVGhlIGN1cnJlbnQgZXJyb3IgSSBhbSB0cnlpbmcgdG8gdGFj a2xlIGlzIHRoZSBmYWN0IHRoYXQgZ2V0dWlkLCBnZXRldWlkLCBnZXRnaWQgYW5kIGdldGVnaWQg YXJlIFVuaXgtb25seS4gSXQgYXBwZWFycyBJIGNhbiBlaXRoZXIgd3JpdGUgbXkgb3duIG1hY3Jv cyBmb3IgdGhlbSAoPGEgaHJlZj0iaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMv MTU5NDc0Ni93aW4zMi1lcXVpdmFsZW50LW9mLWdldHVpZCIgcmVsPSJub3JlZmVycmVyIiB0YXJn ZXQ9Il9ibGFuayIgY2xhc3M9IiI+aHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWU8d2JyIGNs YXNzPSIiPnN0aW9ucy8xNTk0NzQ2L3dpbjMyLWVxdWl2YWxlbjx3YnIgY2xhc3M9IiI+dC1vZi1n ZXR1aWQ8L2E+KQ0KIG9yIGluc3RhbGwgTGliR1czMiBmb3IgdGhlbSAoPGEgaHJlZj0iaHR0cDov L2dudXdpbjMyLnNvdXJjZWZvcmdlLm5ldC9wYWNrYWdlcy9saWJndzMyYy5odG0iIHJlbD0ibm9y ZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmh0dHA6Ly9nbnV3aW4zMi5zb3VyY2Vm b3JnZS5uPHdiciBjbGFzcz0iIj5ldC9wYWNrYWdlcy9saWJndzMyYy5odG08L2E+KS4gSXMgdGhl cmUgYW4gb3B0aW9uIHRoYXQgd291bGQgYmUgYmV0dGVyIGFuZCBjYW4NCiBJIGdldCBzb21lIGFk dmljZSBvbiBob3cgSSB3b3VsZCBpbXBsZW1lbnQgaXQ/PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNz PSIiPg0KdGhhbmtzLDxiciBjbGFzcz0iIj4NCmF1Z3VzdDxiciBjbGFzcz0iIj4NCjxiciBjbGFz cz0iIj4NCk9uIE1vbiwgRmViIDI2LCAyMDE4IGF0IDc6NDkgQU0sIEhhbm5lcyBIYXVzd2VkZWxs ICZsdDs8YSBocmVmPSJtYWlsdG86aGFubmVzLmhhdXN3ZWRlbGxAZnUtYmVybGluLmRlIiB0YXJn ZXQ9Il9ibGFuayIgY2xhc3M9IiI+aGFubmVzLmhhdXN3ZWRlbGxAZnUtYmVybGluLmQ8d2JyIGNs YXNzPSIiPmU8L2E+Jmx0O21haWx0bzo8YSBocmVmPSJtYWlsdG86aGFubmVzLmhhdXN3ZWRlbGxA ZnUtYmVybGluLmRlIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+aGFubmVzLmhhdXN3ZWRlbGxA ZnUtPHdiciBjbGFzcz0iIj5iZXJsaW4uZGU8L2E+Jmd0OyZndDsNCiB3cm90ZTo8YnIgY2xhc3M9 IiI+DQpBbSBEb25uZXJzdGFnLCAyMi4gRmVicnVhciAyMDE4LCAxMTowNTozOCBzY2hyaWViIEF1 Z3VzdCBHdWFuZzo8YnIgY2xhc3M9IiI+DQomZ3Q7IEhpLDxiciBjbGFzcz0iIj4NCiZndDs8YnIg Y2xhc3M9IiI+DQomZ3Q7IEkgd291bGQgbGlrZSB0byBwYWNrYWdlIHRoZSBTZXFBbiBoZWFkZXJz IGZvciBlYXN5IHVzZSBpbiBhIGZldyBSIHBhY2thZ2VzPGJyIGNsYXNzPSIiPg0KJmd0OyBJIHdp bGwgYmUgd3JpdGluZyB3aXRoIG15IHRlYW0sIHRoZSBDb21wdXRhdGlvbmFsIEJpb2xvZ3kgQ29y ZSBhdCBCcm93bjxiciBjbGFzcz0iIj4NCiZndDsgVW5pdmVyc2l0eSBpbiB0aGUgVVMuIFdvdWxk IHRoaXMgYmUgb2sgd2l0aCB5b3UgYWxsPyBJIGFtIGxlYXZpbmcgdGhlPGJyIGNsYXNzPSIiPg0K Jmd0OyBsaWNlbnNlIGFzIEJTRCAzIGNsYXVzZSBhcyB3ZWxsLCBhbmQgaWYgeW91IHdvdWxkIGxp a2UgdG8gbWFrZSBhbnk8YnIgY2xhc3M9IiI+DQomZ3Q7IGFkZGl0aW9ucyB0byB0aGUgbGljZW5z ZSBwbGVhc2UgbGV0IG1lIGtub3cuPGJyIGNsYXNzPSIiPg0KJmd0OzxiciBjbGFzcz0iIj4NCiZn dDsgWW91IGNhbiB2aWV3IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSByZXBvc2l0b3J5IGhlcmU6 PGJyIGNsYXNzPSIiPg0KJmd0OyA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY29tcGJpb2Nv cmUvUlNlcUFuIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4NCmh0 dHBzOi8vZ2l0aHViLmNvbS9jb21wYmlvY29yZTx3YnIgY2xhc3M9IiI+L1JTZXFBbjwvYT48YnIg Y2xhc3M9IiI+DQomZ3Q7PGJyIGNsYXNzPSIiPg0KJmd0OyBUaGFua3MsPGJyIGNsYXNzPSIiPg0K Jmd0OyBhdWd1c3Q8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpEZWFyIEF1Z3VzdCw8YnIg Y2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQp0aGF0J3MgZ3JlYXQgdG8gaGVhciwgZmVlbCB2ZXJ5 IGZyZWUgdG8gaW5jbHVkZSBpdCBpbiB5b3VyIHBhY2thZ2UuIEFzIGxvbmcgYXM8YnIgY2xhc3M9 IiI+DQp0aGUgTElDRU5TRSBmaWxlIGlzIHNoaXBwZWQgd2l0aCB0aGUgcGFja2FnZSB0aGVyZSBp cyBubyBwcm9ibGVtLiBQbGVhc2UgYWxzbzxiciBjbGFzcz0iIj4NCmluY2x1ZGUgYSBsaW5rIHRv IDxhIGhyZWY9Imh0dHA6Ly93d3cuc2VxYW4uZGUvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0i X2JsYW5rIiBjbGFzcz0iIj4NCnd3dy5zZXFhbi5kZTwvYT4mbHQ7PGEgaHJlZj0iaHR0cDovL3d3 dy5zZXFhbi5kZS8iIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmh0 dHA6Ly93d3cuc2VxYW4uPHdiciBjbGFzcz0iIj5kZS88L2E+Jmd0OyBpbiB5b3VyIGRvY3VtZW50 YXRpb24gYW5kIGlmIHBvc3NpYmxlIGFsc28gdGhlPGJyIGNsYXNzPSIiPg0KZm9sbG93aW5nIG5v dGU6PGJyIGNsYXNzPSIiPg0KJnF1b3Q7UGxlYXNlIGRvIG5vdCBmb3JnZXQgdG8gY2l0ZSBTZXFB biBpZiB5b3UgdXNlIHRoaXMgcGFja2FnZSBpbiB5b3VyIGFjZWRlbWljPGJyIGNsYXNzPSIiPg0K d29yaywgZXZlbiBpZiBvbmx5IGluIGF1eGlsaWFyeSB0b29scyBvciBwaXBlbGluZXM6PGJyIGNs YXNzPSIiPg0KPGEgaHJlZj0iaHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai5qYmlvdGVjLjIwMTcu MDcuMDE3IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj5odHRwczov L2RvaS5vcmcvMTAuMTAxNi9qLmpiaW88d2JyIGNsYXNzPSIiPnRlYy4yMDE3LjA3LjAxNzwvYT4m cXVvdDs8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpUaGF0IHdvdWxkIGJlIGdyZWF0ITxi ciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NClRoYW5rIHlvdSw8YnIgY2xhc3M9IiI+DQpIYW5u ZXM8YnIgY2xhc3M9IiI+DQotLTxiciBjbGFzcz0iIj4NCkhhbm5lcyBIYXVzd2VkZWxsPGJyIGNs YXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KU2NpZW50aWZpYyBzdGFmZiAmYW1wOyBQaEQgY2FuZGlk YXRlPGJyIGNsYXNzPSIiPg0KRnJlaWUgVW5pdmVyc2l0P3QgQmVybGluIC8gTWF4IFBsYW5jayBJ bnN0aXR1dGUgZm9yIE1vbGVjdWxhciBHZW5ldGljczxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0i Ij4NCmFkZHJlc3MmbmJzcDsgJm5ic3A7ICZuYnNwO0luc3RpdHV0IGY/ciBJbmZvcm1hdGlrPGJy IGNsYXNzPSIiPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgVGFr dXN0cmE/ZSA5PGJyIGNsYXNzPSIiPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgUm9vbSAwMTk8YnIgY2xhc3M9IiI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAxNDE5NSBCZXJsaW48YnIgY2xhc3M9IiI+DQp0ZWxlcGhvbmUmbmJz cDsgJm5ic3A7PGEgaHJlZj0idGVsOiUyQjQ5JTIwJTI4MCUyOTMwJTIwODM4LTc1MjQxIiB2YWx1 ZT0iJiM0Mzs0OTMwODM4NzUyNDEiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4mIzQzOzQ5ICgw KTMwIDgzOC03NTI0MTwvYT4mbHQ7PGEgaHJlZj0idGVsOiUyQjQ5JTIwJTI4MCUiIGNsYXNzPSIi PnRlbDolMkI0OSUyMCUyODAlPC9hPjx3YnIgY2xhc3M9IiI+MjkzMCUyMDgzOC03NTI0MSZndDs8 YnIgY2xhc3M9IiI+DQpmYXgmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7PGEgaHJl Zj0idGVsOiUyQjQ5JTIwJTI4MCUyOTMwJTIwODM4LTc1MjE4IiB2YWx1ZT0iJiM0Mzs0OTMwODM4 NzUyMTgiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4mIzQzOzQ5ICgwKTMwIDgzOC03NTIxODwv YT4mbHQ7PGEgaHJlZj0idGVsOiUyQjQ5JTIwJTI4MCUiIGNsYXNzPSIiPnRlbDolMkI0OSUyMCUy ODAlPC9hPjx3YnIgY2xhc3M9IiI+MjkzMCUyMDgzOC03NTIxOCZndDs8YnIgY2xhc3M9IiI+DQpl LW1haWwmbmJzcDsgJm5ic3A7ICZuYnNwOyA8YSBocmVmPSJtYWlsdG86aGFubmVzLmhhdXN3ZWRl bGxAZnUtYmVybGluLmRlIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+DQpoYW5uZXMuaGF1c3dl ZGVsbEBmdS1iZXJsaW4uZGU8L2E+PHdiciBjbGFzcz0iIj4mbHQ7bWFpbHRvOjxhIGhyZWY9Im1h aWx0bzpoYW5uZXMuaGF1c3dlZGVsbEBmdS1iZXJsaW4uZGUiIHRhcmdldD0iX2JsYW5rIiBjbGFz cz0iIj5oYW5uZXMuaGF1c3dlZGVsbEBmdS1iPHdiciBjbGFzcz0iIj5lcmxpbi5kZTwvYT4mZ3Q7 PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIi Pg0KLS08YnIgY2xhc3M9IiI+DQpBdWd1c3QgR3Vhbmc8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9 IiI+DQpITUMgQ2xhc3Mgb2YgMjAxMjxiciBjbGFzcz0iIj4NCk1hdGhlbWF0aWNzPGJyIGNsYXNz PSIiPg0KPGJyIGNsYXNzPSIiPg0KQnJvd24gVW5pdmVyc2l0eTxiciBjbGFzcz0iIj4NCkFwcGxp ZWQgTWF0aGVtYXRpY3M8YnIgY2xhc3M9IiI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X188d2JyIGNsYXNzPSIiPl9fX19fX19fX19fX19fX19fPGJyIGNsYXNzPSIiPg0Kc2VxYW4tZGV2 IG1haWxpbmcgbGlzdDxiciBjbGFzcz0iIj4NCjxhIGhyZWY9Im1haWx0bzpzZXFhbi1kZXZAbGlz dHMuZnUtYmVybGluLmRlIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+c2VxYW4tZGV2QGxpc3Rz LmZ1LWJlcmxpbi5kZTwvYT4mbHQ7bTx3YnIgY2xhc3M9IiI+YWlsdG86PGEgaHJlZj0ibWFpbHRv OnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGUiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj5z ZXFhbi1kZXZAbGlzdHMuZnUtYmVybGk8d2JyIGNsYXNzPSIiPm4uZGU8L2E+Jmd0OzxiciBjbGFz cz0iIj4NCjxhIGhyZWY9Imh0dHBzOi8vbGlzdHMuZnUtYmVybGluLmRlL2xpc3RpbmZvL3NlcWFu LWRldiIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+aHR0cHM6Ly9s aXN0cy5mdS1iZXJsaW4uZGUvbGlzPHdiciBjbGFzcz0iIj50aW5mby9zZXFhbi1kZXY8L2E+PGJy IGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KLS0tPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIi Pg0KUmVuPyBSYWhuPGJyIGNsYXNzPSIiPg0KUGguRC4gU3R1ZGVudCAoZGUuTkJJIC0gQ0lCSSk8 YnIgY2xhc3M9IiI+DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08d2JyIGNsYXNzPSIi Pi0tPGJyIGNsYXNzPSIiPg0KVGVsOiZuYnNwOyA8YSBocmVmPSJ0ZWw6JTI4JTJCNDklMjklMjAz MCUyMDgzOCUyMDcyOTc0IiB2YWx1ZT0iJiM0Mzs0OTMwODM4NzI5NzQiIHRhcmdldD0iX2JsYW5r IiBjbGFzcz0iIj4NCigmIzQzOzQ5KSAzMCA4MzggNzI5NzQ8L2E+PGJyIGNsYXNzPSIiPg0KTWFp bDogPGEgaHJlZj0ibWFpbHRvOnJlbmUucmFobkBmdS1iZXJsaW4uZGUiIHRhcmdldD0iX2JsYW5r IiBjbGFzcz0iIj5yZW5lLnJhaG5AZnUtYmVybGluLmRlPC9hPiZsdDttYWlsdG86PGEgaHJlZj0i bWFpbHRvOnJlbmUucmFobkBmdS1iZXJsaW4uZGUiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj48 d2JyIGNsYXNzPSIiPnJlbmUucmFobkBmdS1iZXJsaW4uZGU8L2E+Jmd0OzxiciBjbGFzcz0iIj4N Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTx3YnIgY2xhc3M9IiI+LS08YnIgY2xhc3M9 IiI+DQpJbnN0aXR1dGUgb2YgQ29tcHV0ZXIgU2NpZW5jZTxiciBjbGFzcz0iIj4NCkFsZ29yaXRo bWljIEJpb2luZm9ybWF0aWNzIChBQkkpPGJyIGNsYXNzPSIiPg0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tPHdiciBjbGFzcz0iIj4tLTxiciBjbGFzcz0iIj4NCkZyZWllIFVuaXZlcnNp dD90IEJlcmxpbjxiciBjbGFzcz0iIj4NClRha3VzdHJhP2UgOTxiciBjbGFzcz0iIj4NCjE0MTk1 IEJlcmxpbjxiciBjbGFzcz0iIj4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTx3YnIg Y2xhc3M9IiI+LS08YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQotLS0tLS0tLS0tLS0tLSBu ZXh0IHBhcnQgLS0tLS0tLS0tLS0tLS08YnIgY2xhc3M9IiI+DQpBbiBIVE1MIGF0dGFjaG1lbnQg d2FzIHNjcnViYmVkLi4uPGJyIGNsYXNzPSIiPg0KVVJMOiAmbHQ7PGEgaHJlZj0iaHR0cHM6Ly9s aXN0cy5mdS1iZXJsaW4uZGUvcGlwZXJtYWlsL3NlcWFuLWRldi9hdHRhY2htZW50cy8yMDE4MDMw Ni8yMmU1OTZlZi9hdHRhY2htZW50Lmh0bWwiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxh bmsiIGNsYXNzPSIiPmh0dHBzOi8vbGlzdHMuZnUtYmVybGluLmRlL3BpPHdiciBjbGFzcz0iIj5w ZXJtYWlsL3NlcWFuLWRldi9hdHRhY2htZW50cy88d2JyIGNsYXNzPSIiPjIwMTgwMzA2LzIyZTU5 NmVmL2F0dGFjaG1lbnQuPHdiciBjbGFzcz0iIj5odG1sPC9hPiZndDs8YnIgY2xhc3M9IiI+DQo8 YnIgY2xhc3M9IiI+DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnIgY2xhc3M9IiI+ DQo8YnIgY2xhc3M9IiI+DQpTdWJqZWN0OiBEaWdlc3QgRm9vdGVyPGJyIGNsYXNzPSIiPg0KPGJy IGNsYXNzPSIiPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPHdiciBjbGFzcz0iIj5f X19fX19fX19fX19fX19fXzxiciBjbGFzcz0iIj4NCnNlcWFuLWRldiBtYWlsaW5nIGxpc3Q8YnIg Y2xhc3M9IiI+DQo8YSBocmVmPSJtYWlsdG86c2VxYW4tZGV2QGxpc3RzLmZ1LWJlcmxpbi5kZSIg dGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU8L2E+ PGJyIGNsYXNzPSIiPg0KPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5mdS1iZXJsaW4uZGUvbGlzdGlu Zm8vc2VxYW4tZGV2IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj5o dHRwczovL2xpc3RzLmZ1LWJlcmxpbi5kZS9saXM8d2JyIGNsYXNzPSIiPnRpbmZvL3NlcWFuLWRl djwvYT48YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpFbmQg b2Ygc2VxYW4tZGV2IERpZ2VzdCwgVm9sIDg2LCBJc3N1ZSAxPGJyIGNsYXNzPSIiPg0KKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqPHdiciBjbGFzcz0iIj4qKioqKioqKioqPGJyIGNsYXNz PSIiPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8YnIgY2xhc3M9IiI+DQo8YnIgY2xlYXI9ImFs bCIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KLS0gPGJy IGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iZ21haWwtbV8tNTUyMTQzNTY3MDE2ODE4MDgzOGdtYWls X3NpZ25hdHVyZSI+DQo8ZGl2IGRpcj0ibHRyIiBjbGFzcz0iIj5BdWd1c3QgR3VhbmcNCjxkaXYg Y2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj5ITUMgQ2xhc3Mgb2YgMjAxMjwv ZGl2Pg0KPGRpdiBjbGFzcz0iIj5NYXRoZW1hdGljczwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIg Y2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+QnJvd24gVW5pdmVyc2l0eTwvZGl2Pg0K PGRpdiBjbGFzcz0iIj5BcHBsaWVkIE1hdGhlbWF0aWNzPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0K PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX188YnIgY2xhc3M9IiI+DQpzZXFhbi1kZXYgbWFpbGluZyBsaXN0PGJyIGNs YXNzPSIiPg0KPGEgaHJlZj0ibWFpbHRvOnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGUiIGNs YXNzPSIiPnNlcWFuLWRldkBsaXN0cy5mdS1iZXJsaW4uZGU8L2E+PGJyIGNsYXNzPSIiPg0KaHR0 cHM6Ly9saXN0cy5mdS1iZXJsaW4uZGUvbGlzdGluZm8vc2VxYW4tZGV2PGJyIGNsYXNzPSIiPg0K PC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9 IiI+DQo8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBsZXR0ZXItc3BhY2luZzogbm9y bWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06 IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0LXRl eHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHdvcmQtd3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1uYnNw LW1vZGU6IHNwYWNlOyAtd2Via2l0LWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNlOyIgY2xh c3M9IiI+DQo8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBsZXR0ZXItc3BhY2luZzog bm9ybWFsOyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zv cm06IG5vbmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0 LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHdvcmQtd3JhcDogYnJlYWstd29yZDsgLXdlYmtpdC1u YnNwLW1vZGU6IHNwYWNlOyAtd2Via2l0LWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNlOyIg Y2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dz OiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNzPSIiPi0tLTwvZm9u dD48L2Rpdj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxm b250IGZhY2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2ZvbnQ+PC9k aXY+DQo8ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBm YWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+UmVuw6kgUmFobjwvZm9udD48L2Rpdj4NCjxkaXYg c3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJp ZXIgTmV3IiBjbGFzcz0iIj5QaC5ELiBTdHVkZW50IChkZS5OQkkgLSBDSUJJKTwvZm9udD48L2Rp dj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZh Y2U9IkNvdXJpZXIgTmV3IiBjbGFzcz0iIj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LTwvZm9udD48L2Rpdj4NCjxkaXYgc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNz PSIiPg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+VGVs OiAmbmJzcDsoJiM0Mzs0OSkgMzAgODM4Jm5ic3A7PC9mb250PjxzcGFuIHN0eWxlPSJmb250LWZh bWlseTogJ0NvdXJpZXIgTmV3JzsiIGNsYXNzPSIiPjcyOTc0PC9zcGFuPjwvZGl2Pg0KPGRpdiBj bGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xhc3M9IiI+TWFpbDombmJzcDs8YSBo cmVmPSJtYWlsdG86cmVuZS5yYWhuQGZ1LWJlcmxpbi5kZSIgY2xhc3M9IiI+cmVuZS5yYWhuQGZ1 LWJlcmxpbi5kZTwvYT48L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNv dXJpZXIgTmV3IiBjbGFzcz0iIj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZm9u dD48L2Rpdj4NCjwvZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xh c3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNzPSIiPkluc3RpdHV0ZSBvZiBDb21w dXRlciBTY2llbmNlPC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dz OiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNzPSIiPkFsZ29yaXRo bWljIEJpb2luZm9ybWF0aWNzIChBQkkpPC9mb250PjwvZGl2Pg0KPGRpdiBzdHlsZT0ib3JwaGFu czogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciBOZXciIGNsYXNz PSIiPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9mb250PjwvZGl2Pg0KPGRpdiBz dHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyIgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmll ciBOZXciIGNsYXNzPSIiPkZyZWllIFVuaXZlcnNpdMOkdCBCZXJsaW48L2ZvbnQ+PC9kaXY+DQo8 ZGl2IHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJD b3VyaWVyIE5ldyIgY2xhc3M9IiI+VGFrdXN0cmHDn2UgOTwvZm9udD48L2Rpdj4NCjxkaXYgc3R5 bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsiIGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIg TmV3IiBjbGFzcz0iIj4xNDE5NSBCZXJsaW48L2ZvbnQ+PC9kaXY+DQo8ZGl2IHN0eWxlPSJvcnBo YW5zOiAyOyB3aWRvd3M6IDI7IiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIE5ldyIgY2xh c3M9IiI+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2ZvbnQ+PC9kaXY+DQo8L2Rp dj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPC9ib2R5 Pg0KPC9odG1sPg0K --_000_4E140083942A4E42800080E73B6466F1fuberlinde_-- From css.shiva@gmail.com Thu Mar 22 17:50:08 2018 Received: from relay1.zedat.fu-berlin.de ([130.133.4.67]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1ez3Pk-002hKK-IM>; Thu, 22 Mar 2018 17:50:08 +0100 Received: from mail-it0-f49.google.com ([209.85.214.49]) by relay1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:AES128-GCM-SHA256:128) (envelope-from ) id <1ez3Pk-003LJG-A1>; Thu, 22 Mar 2018 17:50:08 +0100 Received: by mail-it0-f49.google.com with SMTP id p67-v6so7048077itc.2 for ; Thu, 22 Mar 2018 09:50:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=wFLb0HPa5NKmtgYYS8HeDOm7YTx/3qNTAe2fDICnm9U=; b=VoZ73MyEDMkBasGAP9ztuIAM7KfRebshfyQyVWogPjYDKEObK2Bj48rxMn+mVZD4vA B4XZ82RdoFu74+AzytjWa5N6cSn3AHZ8BGQVwJBDqFJAi3trpotItUNZpMTdgRrN6fGG 7ULXskgLJ1XFIVFXCHplmpAiRir8A0euaiu+jqQp3JhK86HN+5cCasl8vKcTgPvLRJ42 OjPnYxqn3/dWJ6l+e5RMfBi5/pbXi9xMfKNHBSupltfEdrS4GmjmcX1a+vf4kugF+xvN bTCB1pXrQhjVg5/XHWSzxk1Ps7utUv3USGd5aCqerj8mWO3R5h+bxdsDYWx50EWgKi7p 0toA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=wFLb0HPa5NKmtgYYS8HeDOm7YTx/3qNTAe2fDICnm9U=; b=eVnsYpTHsl1x9pBxBG5SdawJR3jR+TWdr19PGI5/NU2jGO+JgsXh8Ing1qOul10NRr fI3qxglnLTYXI84OJ3rPBoPv8F4FgKiiLw2T+wreLnky42Yq+R+R7DFHapqQGcfA+JPk xMJrjzmtJVYlfsJpX+J9R3rKLTQqJWUEq9T6bF5Kec7Zhx8enDuWmjFFO4En2Vr3zbdI D13PsrUGSOJus90jHY7kl7hlWQIV3Cy7xjeosDpjZsTsGpHTLIuCWciAXM8MY0Bb12kK XZEOA+qS10W67rJLmuM+hcoHqk7mpOFF4wuEgjUV48YKZboyaoBwsRDw/Ze1g66pSflm AYcQ== X-Gm-Message-State: AElRT7FEU18TT3oRlWFo61uPckgvjsbxEV2eW2JO5P1LB/CI9cnHwx0z jYJd9wUUMZ/jxwgSRlhpqXnc6pdnp3LYYMmvCFCi/Q== X-Google-Smtp-Source: AIpwx49u/Syy0XR7O9Yu6qd6a+btr0bKwf4N6dh9FB6X37iKgzsPKjvCo3s0EZkWyYsNlwVEqSuUVGM8HvBVFbECOoA= X-Received: by 2002:a24:f246:: with SMTP id j67-v6mr9611963ith.90.1521737405530; Thu, 22 Mar 2018 09:50:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.210.5 with HTTP; Thu, 22 Mar 2018 09:50:05 -0700 (PDT) From: Chekuri Choudary Date: Thu, 22 Mar 2018 11:50:05 -0500 Message-ID: To: seqan-dev@lists.fu-berlin.de Content-Type: multipart/alternative; boundary="0000000000007f881c0568031937" X-Originating-IP: 209.85.214.49 X-ZEDAT-Hint: A X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1521737408-000005A1-95E85CC2/0/0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-0.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_PASS X-Spam-Checker-Version: SpamAssassin 3.4.1 on Vanuatu.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: [Seqan-dev] SEQAN 2.0.0+ on ppc64 X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Mar 2018 16:50:08 -0000 --0000000000007f881c0568031937 Content-Type: text/plain; charset="UTF-8" I am trying to build SEQAN 2.0+ on ppc64le and RHEL7.4 with a gcc 4.8, and am stuck with the error message "Unrecognized opcode rep". Could somebody please help. Thanks --0000000000007f881c0568031937 Content-Type: text/html; charset="UTF-8"
I am trying to build SEQAN 2.0+ on ppc64le and RHEL7.4 with a gcc 4.8, and am stuck with the error message "Unrecognized opcode rep". Could somebody please help.
Thanks
--0000000000007f881c0568031937-- From hannes.hauswedell@fu-berlin.de Fri Mar 23 11:36:26 2018 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1ezK3d-003sjZ-M8>; Fri, 23 Mar 2018 11:36:25 +0100 Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost.zedat.fu-berlin.de (Exim 4.85) with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1ezK3d-002EAI-Ic>; Fri, 23 Mar 2018 11:36:25 +0100 Received: from celegans.imp.fu-berlin.de ([160.45.111.134]) by inpost2.zedat.fu-berlin.de (Exim 4.85) with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (envelope-from ) id <1ezK3d-00051r-CN>; Fri, 23 Mar 2018 11:36:25 +0100 From: Hannes Hauswedell To: Chekuri Choudary Cc: SeqAn Development Date: Fri, 23 Mar 2018 11:36:24 +0100 Message-ID: <2329327.Tu1mzlFIRg@celegans.imp.fu-berlin.de> Organization: MPI MolGen / FU-Berlin In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Originating-IP: 160.45.111.134 X-purgate: clean X-purgate-type: clean X-purgate-ID: 151147::1521801385-000005A1-862ED110/0/0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-50.0 required=5.0 tests=ALL_TRUSTED, T_FILL_THIS_FORM_SHORT,T_RP_MATCHES_RCVD X-Spam-Checker-Version: SpamAssassin 3.4.1 on Kiribati.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] SEQAN 2.0.0+ on ppc64 X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Mar 2018 10:36:26 -0000 Am Donnerstag 22 M=C3=A4rz 2018, 11:50:05 schrieb Chekuri Choudary: > I am trying to build SEQAN 2.0+ on ppc64le and RHEL7.4 with a gcc 4.8= , and > am stuck with the error message "Unrecognized opcode rep". Could some= body > please help. > Thanks Dear Chekuri, a lot of work has gone into making SeqAn work on ppc64le, but this was = recent=20 so you need to work with SeqAn-2.4.0. Also gcc-4.8 is no longer support= ed,=20 please use at least gcc-4.9, better gcc>=3D5. If you still encounter issues, please don't hesitate to contact us agai= n or=20 open an issue in the github bug-tracker: https://github.com/seqan/seqan/issues Best regards, Hannes --=20 Hannes Hauswedell Scientific staff & PhD candidate Freie Universit=C3=A4t Berlin / Max Planck Institute for Molecular Gene= tics address Institut f=C3=BCr Informatik Takustra=C3=9Fe 9 Room 019 14195 Berlin telephone +49 (0)30 838-75241 fax +49 (0)30 838-75218 e-mail hannes.hauswedell@fu-berlin.de From hannes.hauswedell@fu-berlin.de Fri Mar 23 11:58:56 2018 Received: from outpost1.zedat.fu-berlin.de ([130.133.4.66]) by list1.zedat.fu-berlin.de (Exim 4.85) for seqan-dev@lists.fu-berlin.de with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1ezKPQ-003uFr-Cg>; Fri, 23 Mar 2018 11:58:56 +0100 Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost.zedat.fu-berlin.de (Exim 4.85) with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (envelope-from ) id <1ezKPQ-002OEQ-9F>; Fri, 23 Mar 2018 11:58:56 +0100 Received: from celegans.imp.fu-berlin.de ([160.45.111.134]) by inpost2.zedat.fu-berlin.de (Exim 4.85) with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (envelope-from ) id <1ezKPQ-0008Uh-2u>; Fri, 23 Mar 2018 11:58:56 +0100 From: Hannes Hauswedell To: Lucas van Dijk Cc: seqan-dev@lists.fu-berlin.de Date: Fri, 23 Mar 2018 11:58:54 +0100 Message-ID: <1990507.kKnEkhtO7L@celegans.imp.fu-berlin.de> Organization: MPI MolGen / FU-Berlin In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Originating-IP: 160.45.111.134 X-purgate: suspect X-purgate-type: suspect X-purgate-ID: 151147::1521802736-000005A1-BAFBB78C/2/25555658967 X-Bogosity: Ham, tests=bogofilter, spamicity=0.033700, version=1.2.4 X-Spam-Flag: NO X-Spam-Status: No, score=-49.0 required=5.0 tests=ALL_TRUSTED, FU_XPURGATE_SUSP, T_FILL_THIS_FORM_SHORT,T_RP_MATCHES_RCVD X-Spam-Checker-Version: SpamAssassin 3.4.1 on Tuvalu.ZEDAT.FU-Berlin.DE X-Spam-Level: Subject: Re: [Seqan-dev] Saving an index for StringSet to disk: lots of files X-BeenThere: seqan-dev@lists.fu-berlin.de X-Mailman-Version: 2.1.26 Precedence: list List-Id: SeqAn Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Mar 2018 10:58:56 -0000 Am Freitag 16 M=C3=A4rz 2018, 20:40:00 schrieb Lucas van Dijk: > Hi all, >=20 > I'm trying to build a simple (short) read filter: given a list of k-m= ers, > keep only reads that contains at least one of the given k-mers. This = will > be used to analyse the behaviour of a tool we're working on. It doesn= 't > need to be super memory efficient, it'll mostly be a debugging tool. >=20 > My strategy was to use SeqAn and built a suffix array index for the > StringSet of reads, and quickly enumerate which reads contain a given= > k-mer. I got a simple prototype working that reads the whole FASTQ fi= le in > memory as StringSet, and then build an Index, > IndexSa<>>. You should use the StringSet>>=20 specialisation here, it will result in only two files being written for= the=20 StringSet (the concatenation of all strings plus a vector of delimiters= ). Hope that helps, Hannes --=20 Hannes Hauswedell Scientific staff & PhD candidate Freie Universit=C3=A4t Berlin / Max Planck Institute for Molecular Gene= tics address Institut f=C3=BCr Informatik Takustra=C3=9Fe 9 Room 019 14195 Berlin telephone +49 (0)30 838-75241 fax +49 (0)30 838-75218 e-mail hannes.hauswedell@fu-berlin.de