From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 18778 invoked from network); 11 Nov 2021 11:25:19 -0000 Received: from tb-ob0.topicbox.com (64.147.108.117) by inbox.vuxu.org with ESMTPUTF8; 11 Nov 2021 11:25:19 -0000 Received: from tb-mx1.topicbox.com (tb-mx1.nyi.icgroup.com [10.90.30.61]) by tb-ob0.topicbox.com (Postfix) with ESMTP id F10E12F98C for ; Thu, 11 Nov 2021 06:25:17 -0500 (EST) (envelope-from bounce.mMb3af3d5e0cba2640853d9f74.r522be890-2105-11eb-b15e-8d699134e1fa@9fans.bounce.topicbox.com) Received: by tb-mx1.topicbox.com (Postfix, from userid 1132) id E819769C9DF; Thu, 11 Nov 2021 06:25:17 -0500 (EST) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=hhfxX2i8 header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=charles.forsyth@gmail.com smtp.helo=mail-pf1-f174.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (body has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type:list-help:list-id:list-post :list-subscribe:reply-to:content-transfer-encoding :list-unsubscribe; s=sysmsg-1; t=1636629917; bh=BP6MptcnGeVSzdhk QajGHHxoIqhkcLa2tf9o7LkuyfI=; b=KDaYaF+23P9Svv4CRisk9dKNo6Na5zR6 bZgWRVAhFteAo7RzoVTAxipsQMqWkw5VqmDk/H/lqnQ6gQt9OrYYGS3V5ytFNP0V QOcUxLL0KcoQQi3/ZuS2cYgyhCsVd3c617WAtlwrUk6JQYr8ziWnEubCCTTol4Ob 86RMUHQrskM= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1636629917; b=OGkQ+y3+RNLuhMBUuUSHI8zamfy8DBKfXi7nGxIUVh5UW8gsa3 Dw6zMgRBiJm4WiBqU4x4XULRuV4efOTKkuE1wMejPHEmoZ+suzv7elgjCVZ2duXl tBxhfkELvh7iHywDJiDJIxmEvY8D3tzoQlKUZo2ODipmAx/cqlNVHXIdo= Authentication-Results: topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=hhfxX2i8 header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=charles.forsyth@gmail.com smtp.helo=mail-pf1-f174.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (body has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=hhfxX2i8 header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.210.174 (mail-pf1-f174.google.com); spf=pass smtp.mailfrom=charles.forsyth@gmail.com smtp.helo=mail-pf1-f174.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=SNVVN9vQ; x-me-sender=none; x-ptr=pass smtp.helo=mail-pf1-f174.google.com policy.ptr=mail-pf1-f174.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=49 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:content-type:list-help:list-id:list-post:list-subscribe :reply-to:content-transfer-encoding:list-unsubscribe; s=dkim-1; bh=Lb3rE9Y/GOf+t90pfcR/Dfb8jjj6YrHdrQ/SR4t8NWE=; b=OXZju4QqKjW9 8YQsAc0ZcmOV2xMeb2xN75Y8YIMDBevXuntU7v3F++uWX55tqezROhJYY9vyslgF ODtsfF68pshgo+CadrLObdlUVevI1XreHVDaX+UsFsIppkm8wgtYKzESHloFErY7 6yWSnTzHUFujzgxTaP6f748M4vmdmUc= Received: from tb-mx0.topicbox.com (localhost.local [127.0.0.1]) by tb-mx0.topicbox.com (Postfix) with ESMTP id 855A84F5E31 for <9fans@9fans.net>; Thu, 11 Nov 2021 06:25:04 -0500 (EST) (envelope-from charles.forsyth@gmail.com) Received: from tb-mx0.topicbox.com (localhost [127.0.0.1]) by tb-mx0.topicbox.com (Authentication Milter) with ESMTP id CCA2DDBFF4A; Thu, 11 Nov 2021 06:25:04 -0500 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1636629904; b=OzHATHgRNfxpTf87WYYZJhtgbJNdgRtxATh1GtensMdhhbsJQ1 7nO0jdmsmHlGZ9FatiUosx3R+kiIliGI7VxAAsmQtocWAPyCjizoNN9VdJWY3vj5 rXgsq7uEWYzGW7NIkjxTIzflMNiTKErCdu+sFA66mDGBrWXuWOth8nLH0vEL7i26 p89rGUpkUoCSq9Kf0yHnMIRVbNFtyblyTubOdgGLVnFTkyAO/0HPl4wsouLnqV7e L+XnSEEq6tkoZDsux46JhQ7MzVKuVUhveLgHRv1dZnFHXyriCJggCfCea2FP0Gpg 6y2c8XZx4LfHCYOqJZRNh2Z34+hcuuPRJsAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; s=arcseal; t=1636629904; bh=TvP5higz+/Np8hFCuKzlJwVu4cShcK8qFBepuDQ9kjI=; b=G38iOXLp+EnC W4X58xCK1e4AH+lHq7wOy4ujOrGJf3VhHTeb8D/63JRMG9NDZgaYawX4E9GGq3xx t24cdvSsYljidXbnT6XyXDHVF/qahemoNcqrfusKThTikmBHMf7Vj3oFfZcYimQ/ 90vIsrOKdFjJNp/5nTazG8t5BMLHesK9oRzjOiJnm6lzgl3tUmAzmPP4a+4iQr5g Lq7mgj+sxCizryXtwPkRUUSjd74Mo270WwOzj6iueMmnHCvLUgh6TadF9zhmRaB2 tjLhDYCzZnsqyB3TxHEjmY6rc7upmVnjyTVfbXbE5JoShnw/T/H5WfUTaJOVoy9Y 7dZ4CPSAmw== ARC-Authentication-Results: i=1; tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=hhfxX2i8 header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.210.174 (mail-pf1-f174.google.com); spf=pass smtp.mailfrom=charles.forsyth@gmail.com smtp.helo=mail-pf1-f174.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=SNVVN9vQ; x-me-sender=none; x-ptr=pass smtp.helo=mail-pf1-f174.google.com policy.ptr=mail-pf1-f174.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=49 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgedvuddrudeigdduheculddtuddrgeduhedrtddtmd cutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghn shhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtne cuogfuuhhsphgvtghtffhomhgrihhnucdlgeelmdenucfjughrpeggfhgjhfffkffuvfgt segrtderredttdejnecuhfhrohhmpeevhhgrrhhlvghsucfhohhrshihthhhuceotghhrg hrlhgvshdrfhhorhhshihthhesghhmrghilhdrtghomheqnecuggftrfgrthhtvghrnhep tdetteegfeevjeehteefhfdvfeeuffevieelheffvdffheelvdejueeijedtjeejnecuff homhgrihhnpehgihhthhhusgdrihhopdhtohhpihgtsghogidrtghomhenucfkphepvddt ledrkeehrddvuddtrddujeegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpe hinhgvthepvddtledrkeehrddvuddtrddujeegpdhhvghlohepmhgrihhlqdhpfhduqdhf udejgedrghhoohhglhgvrdgtohhmpdhmrghilhhfrhhomhepoegthhgrrhhlvghsrdhfoh hrshihthhhsehgmhgrihhlrdgtohhmqe X-ME-VSScore: 49 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'charles.forsyth@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=tb-mx0.topicbox.com; identity=mailfrom; envelope-from="charles.forsyth@gmail.com"; helo=mail-pf1-f174.google.com; client-ip=209.85.210.174 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx0.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Thu, 11 Nov 2021 06:25:03 -0500 (EST) (envelope-from charles.forsyth@gmail.com) Received: by mail-pf1-f174.google.com with SMTP id x64so5360943pfd.6 for <9fans@9fans.net>; Thu, 11 Nov 2021 03:25:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=TvP5higz+/Np8hFCuKzlJwVu4cShcK8qFBepuDQ9kjI=; b=SNVVN9vQCbN23E+/QKa78hlCiEAyO0ypXoKoA4cwKgO++lwhN8mhivIGraq9B/N/97 J9tfIvr/IoI3icCv/qq51CFIuGgxkSeRelgRLZLbvV23nuQdHYwiO86/MJC93YmxFE6k 5Amqne37P/ZneGYXeZTrhQ24R6yoE+q9vG/RDacSLeUc3Oa9FhekgZppWipXOjjAvDC6 yjhJqhijlewzaCPVDHlSD+SHMAi8BdKgjc1HesndCWJ0E66ImB/TbRoHs97DITgvTdmK SJ6V/833bLq1DLEwF4FmFjymG4HmOvkpNelqzm3NWF2HNwq+fQgf7QNiuzOcjbXq1SBm C5Wg== X-Gm-Message-State: AOAM5300UkRNKN66y7le2FtBY7774pToHDwgTipXt0KQbqOOMA7zAqV2 NUyAzCzNIJEVEpGaDTQWpi2nKvTGhLQarQMIdlF6lcfKgqM= X-Google-Smtp-Source: ABdhPJy0PHnABwX2JwgpUDsz7ga4zu/QRE5MaXmfN+LeaUCxJRoQKs9Z9BXGTB2mf8yspL9b8PGHTaLsbXSDQoFic7w= X-Received: by 2002:a62:4e0a:0:b0:4a0:4127:174b with SMTP id c10-20020a624e0a000000b004a04127174bmr4934590pfb.41.1636629901880; Thu, 11 Nov 2021 03:25:01 -0800 (PST) MIME-Version: 1.0 References: <16365724820.70ECFff3.198950@composer.9fans.topicbox.com> In-Reply-To: <16365724820.70ECFff3.198950@composer.9fans.topicbox.com> From: Charles Forsyth Date: Thu, 11 Nov 2021 11:25:22 +0000 Message-ID: Subject: Re: [9fans] How to generate a "debuggable" lex.yy.c? To: 9fans <9fans@9fans.net> Content-Type: multipart/alternative; boundary="000000000000ee30bd05d08197aa" Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 08cfe9da-42e2-11ec-8cf4-952a406b91bf Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UZGFkZTg1ZjIwNDg2MjliZC1NYjNhZjNkNWUwY2JhMjY0MDg1M2Q5?= =?UTF-8?B?Zjc0Pg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> Content-Transfer-Encoding: 7bit List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:Mb3af3d5e0cba2640853d9f74:1:DcLGXh5Xf5WDwRUfogLejSyLBesxZVxtNqoGlPT92wI --000000000000ee30bd05d08197aa Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Perhaps add a copy of allprint, without the character counting, to replace the existing extern declaration in your ncform, still #ifdef'd with LEXDEBUG. The signature of allprint should also be static void allprint(Uchar) and the exotic initial lines of sub1.c's allprint can be removed. It needs a #include inside the #ifdef to get isprint. Originally on Unix there was a separate little lex library with its own version of allprint. On Wed, 10 Nov 2021 at 19:28, gomfy via 9fans <9fans@9fans.net> wrote: > > Hello, > > > I would like to generate a lexer with debug functionality. I'm relying on > a slightly modified versions of the sources: > https://9fans.github.io/plan9port/man/man3/bio.html > > https://9fans.github.io/plan9port/man/man1/yacc.html > > https://9fans.github.io/plan9port/man/man1/lex.html > > > > As far as I can tell, my issues are not related to the fact that I'm > working with a slightly modified version, but I thought I'll mention it > just to be on the safe side. > > > The first issue was that the debug information collected in fdebug was > not flushed and as a result the *y.debug* file for the lexer kept showing > up empty. I had to add Bterm(fdebug); at the end of the main() in *yacc.c* > to get the *y.debug* file to be generated with content. > > > Now, my issue is that if I'm compiling the generated *lex.yy.c* with > -DLEXDEBUG I get: > > undefined reference to `allprint(char)' > > because of sections like the one below: > > > > # ifdef LEXDEBUG > if(debug){ > fprintf(yyout,"char "); > allprint(yych); > putchar('\n'); > } > # endif > > > > The allprint() function is defined in the Lex source *sub1.c*. It seems > I'd have to link against the Lex source to be able to compile *lex.yy.c* > in debug mode, which would be a bit complicated as there are some clashes > with my other application. Other complications are caused by the global > variables that show up in allprint() and other functions that are listed > in the DEBUG section of *sub1.c*. > > > Can someone point me in the right direction, or tell me what am I missing > here? > > > > Thanks! > Gyorgy > *9fans * / 9fans / see discussions > + participants > + delivery options > Permalink > > ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tdade85f2048629bd-Mb3af3= d5e0cba2640853d9f74 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription --000000000000ee30bd05d08197aa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGh0bWw+PGh0bWw+PGRpdiBkaXI9Imx0ciI+UGVyaGFwcyBhZGQgYSBjb3B5IG9mIGFsbHByaW50 LCB3aXRob3V0IHRoZSBjaGFyYWN0ZXIgY291bnRpbmcsIHRvIHJlcGxhY2UgdGhlIGV4aXN0aW5n IGV4dGVybiBkZWNsYXJhdGlvbiBpbiB5b3VyIG5jZm9ybSwgc3RpbGwgI2lmZGVmJiMzOTtkIHdp dGggTEVYREVCVUcuPGRpdj5UaGUgc2lnbmF0dXJlIG9mIGFsbHByaW50IHNob3VsZCBhbHNvIGJl IHN0YXRpYyB2b2lkIGFsbHByaW50KFVjaGFyKSBhbmQgdGhlIGV4b3RpYyBpbml0aWFsIGxpbmVz IG9mIHN1YjEuYyYjMzk7cyBhbGxwcmludCBjYW4gYmUgcmVtb3ZlZC48L2Rpdj48ZGl2Pkl0IG5l ZWRzIGEgI2luY2x1ZGUgJmx0O2N0eXBlLmgmZ3Q7IGluc2lkZSB0aGUgI2lmZGVmIHRvIGdldCBp c3ByaW50LjwvZGl2PjxkaXY+PGJyIC8+PC9kaXY+PGRpdj5PcmlnaW5hbGx5IG9uIFVuaXggdGhl cmUgd2FzIGEgc2VwYXJhdGUgbGl0dGxlIGxleCBsaWJyYXJ5IHdpdGggaXRzIG93biB2ZXJzaW9u IG9mIGFsbHByaW50LjwvZGl2PjwvZGl2PjxiciAvPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48 ZGl2IGNsYXNzPSJnbWFpbF9hdHRyIiBkaXI9Imx0ciI+T24gV2VkLCAxMCBOb3YgMjAyMSBhdCAx OToyOCwgZ29tZnkgdmlhIDlmYW5zICZsdDs8YSBocmVmPSJtYWlsdG86OWZhbnNAOWZhbnMubmV0 Ij45ZmFuc0A5ZmFucy5uZXQ8L2E+Jmd0OyB3cm90ZTo8YnIgLz48L2Rpdj48YmxvY2txdW90ZSBj bGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVy LWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+PHU+PC91 PjxkaXY+PGRpdj5IZWxsbywmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8 YnIgLz48L2Rpdj48ZGl2PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxiciAvPjwvZGl2PjxkaXY+SSB3b3Vs ZCBsaWtlIHRvIGdlbmVyYXRlIGEgbGV4ZXIgd2l0aCBkZWJ1ZyBmdW5jdGlvbmFsaXR5LiBJJiMz OTttIHJlbHlpbmcgb24gYSBzbGlnaHRseSBtb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc291cmNl czo8YnIgLz48L2Rpdj48ZGl2PjxhIGhyZWY9Imh0dHBzOi8vOWZhbnMuZ2l0aHViLmlvL3BsYW45 cG9ydC9tYW4vbWFuMy9iaW8uaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vOWZhbnMuZ2l0 aHViLmlvL3BsYW45cG9ydC9tYW4vbWFuMy9iaW8uaHRtbDwvYT4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YnIgLz48L2Rpdj48ZGl2PjxhIGhy ZWY9Imh0dHBzOi8vOWZhbnMuZ2l0aHViLmlvL3BsYW45cG9ydC9tYW4vbWFuMS95YWNjLmh0bWwi IHRhcmdldD0iX2JsYW5rIj5odHRwczovLzlmYW5zLmdpdGh1Yi5pby9wbGFuOXBvcnQvbWFuL21h bjEveWFjYy5odG1sPC9hPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOzxiciAvPjwvZGl2PjxkaXY+PGEgaHJlZj0iaHR0cHM6Ly85ZmFucy5naXRodWIuaW8v cGxhbjlwb3J0L21hbi9tYW4xL2xleC5odG1sIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly85ZmFu cy5naXRodWIuaW8vcGxhbjlwb3J0L21hbi9tYW4xL2xleC5odG1sPC9hPiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxiciAvPjwvZGl2PjxkaXY+ Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7PGJyIC8+PC9kaXY+PGRpdj5BcyBmYXIgYXMgSSBjYW4gdGVsbCwg bXkgaXNzdWVzIGFyZSBub3QgcmVsYXRlZCB0byB0aGUgZmFjdCB0aGF0IEkmIzM5O20gd29ya2lu ZyB3aXRoIGEgc2xpZ2h0bHkgbW9kaWZpZWQgdmVyc2lvbiwgYnV0IEkgdGhvdWdodCBJJiMzOTts bCBtZW50aW9uIGl0IGp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZS48YnIgLz48L2Rpdj48ZGl2 PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxiciAvPjwv ZGl2PjxkaXY+VGhlIGZpcnN0IGlzc3VlIHdhcyB0aGF0IHRoZSBkZWJ1ZyBpbmZvcm1hdGlvbiBj b2xsZWN0ZWQgaW4gPGNvZGUgc3R5bGU9ImJvcmRlci1yYWRpdXM6M3B4O2JvcmRlcjoxcHggc29s aWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nOjFweCAzcHg7YmFja2dyb3VuZDpyZ2IoMjQ2LDI0 NiwyNDYpO2ZvbnQtZmFtaWx5Om1lbmxvLGNvbnNvbGFzLG1vbm9zcGFjZTtmb250LXNpemU6OTAl Ij5mZGVidWc8L2NvZGU+IHdhcyBub3QgZmx1c2hlZCBhbmQgYXMgYSByZXN1bHQgdGhlIDxiPjxp PnkuZGVidWc8L2k+PC9iPiBmaWxlIGZvciB0aGUgbGV4ZXIga2VwdCBzaG93aW5nIHVwIGVtcHR5 LiBJIGhhZCB0byBhZGQgPGNvZGUgc3R5bGU9ImJvcmRlci1yYWRpdXM6M3B4O2JvcmRlcjoxcHgg c29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nOjFweCAzcHg7YmFja2dyb3VuZDpyZ2IoMjQ2 LDI0NiwyNDYpO2ZvbnQtZmFtaWx5Om1lbmxvLGNvbnNvbGFzLG1vbm9zcGFjZTtmb250LXNpemU6 OTAlIj5CdGVybShmZGVidWcpOzwvY29kZT4gYXQgdGhlIGVuZCBvZiB0aGUgPGNvZGUgc3R5bGU9 ImJvcmRlci1yYWRpdXM6M3B4O2JvcmRlcjoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRk aW5nOjFweCAzcHg7YmFja2dyb3VuZDpyZ2IoMjQ2LDI0NiwyNDYpO2ZvbnQtZmFtaWx5Om1lbmxv LGNvbnNvbGFzLG1vbm9zcGFjZTtmb250LXNpemU6OTAlIj5tYWluKCk8L2NvZGU+IGluIDxpPjxi PnlhY2MuYzwvYj48L2k+IHRvIGdldCB0aGUgPGI+PGk+eS5kZWJ1ZzwvaT48L2I+IGZpbGUgdG8g YmUgZ2VuZXJhdGVkIHdpdGggY29udGVudC48YnIgLz48L2Rpdj48ZGl2PiZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOzxiciAvPjwvZGl2PjxkaXY+Tm93LCBteSBpc3N1ZSBpcyB0aGF0IGlmIEkmIzM5O20gY29t cGlsaW5nIHRoZSBnZW5lcmF0ZWQgPGI+PGk+bGV4Lnl5LmM8L2k+PC9iPiB3aXRoIDxjb2RlIHN0 eWxlPSJib3JkZXItcmFkaXVzOjNweDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7 cGFkZGluZzoxcHggM3B4O2JhY2tncm91bmQ6cmdiKDI0NiwyNDYsMjQ2KTtmb250LWZhbWlseTpt ZW5sbyxjb25zb2xhcyxtb25vc3BhY2U7Zm9udC1zaXplOjkwJSI+LURMRVhERUJVRzwvY29kZT4g SSBnZXQ6IDxiciAvPjwvZGl2PjxkaXY+PGJyIC8+PGNvZGUgc3R5bGU9ImJvcmRlci1yYWRpdXM6 M3B4O2JvcmRlcjoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nOjFweCAzcHg7YmFj a2dyb3VuZDpyZ2IoMjQ2LDI0NiwyNDYpO2ZvbnQtZmFtaWx5Om1lbmxvLGNvbnNvbGFzLG1vbm9z cGFjZTtmb250LXNpemU6OTAlIj51bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBhbGxwcmludChjaGFy KSYjMzk7IDwvY29kZT48YnIgLz48L2Rpdj48ZGl2PjxiciAvPjwvZGl2PjxkaXY+YmVjYXVzZSBv ZiBzZWN0aW9ucyBsaWtlIHRoZSBvbmUgYmVsb3c6PGJyIC8+PC9kaXY+PGRpdj4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDs8YnIgLz48L2Rpdj48cHJlIHN0eWxlPSJtYXJnaW46N3B4IDBweDtib3JkZXItcmFk aXVzOjNweDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZzo3cHggMTBw eDtiYWNrZ3JvdW5kOnJnYigyNDYsMjQ2LDI0Nik7Zm9udC1mYW1pbHk6bWVubG8sY29uc29sYXMs bW9ub3NwYWNlO2ZvbnQtc2l6ZTo5MCU7d2hpdGUtc3BhY2U6cHJlLXdyYXAiPiMgaWZkZWYgTEVY REVCVUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICANCiAgICAgICAgICAgIGlmKGRlYnVnKXsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAg IGZwcmludGYoeXlvdXQsJnF1b3Q7Y2hhciAmcXVvdDspOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIGFsbHByaW50KHl5Y2gpOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAg ICAgICAgICAgICAgcHV0Y2hhcigmIzM5O1xuJiMzOTspOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIH0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgDQojIGVuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48L3ByZT48ZGl2PiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxiciAvPjwvZGl2PjxkaXY+ VGhlIDxjb2RlIHN0eWxlPSJib3JkZXItcmFkaXVzOjNweDtib3JkZXI6MXB4IHNvbGlkIHJnYigy MDQsMjA0LDIwNCk7cGFkZGluZzoxcHggM3B4O2JhY2tncm91bmQ6cmdiKDI0NiwyNDYsMjQ2KTtm b250LWZhbWlseTptZW5sbyxjb25zb2xhcyxtb25vc3BhY2U7Zm9udC1zaXplOjkwJSI+YWxscHJp bnQoKTwvY29kZT4gZnVuY3Rpb24gaXMgZGVmaW5lZCBpbiB0aGUgTGV4IHNvdXJjZSA8Yj48aT5z dWIxLmM8L2k+PC9iPi4mbmJzcDsgSXQgc2VlbXMgSSYjMzk7ZCBoYXZlIHRvIGxpbmsgYWdhaW5z dCB0aGUgTGV4IHNvdXJjZSB0byBiZSBhYmxlIHRvIGNvbXBpbGUgPGI+PGk+bGV4Lnl5LmM8L2k+ PC9iPiBpbiBkZWJ1ZyBtb2RlLCB3aGljaCB3b3VsZCBiZSBhIGJpdCBjb21wbGljYXRlZCBhcyB0 aGVyZSBhcmUgc29tZSBjbGFzaGVzIHdpdGggbXkgb3RoZXIgYXBwbGljYXRpb24uIE90aGVyIGNv bXBsaWNhdGlvbnMgYXJlIGNhdXNlZCBieSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyB0aGF0IHNob3cg dXAgaW4gPGNvZGUgc3R5bGU9ImJvcmRlci1yYWRpdXM6M3B4O2JvcmRlcjoxcHggc29saWQgcmdi KDIwNCwyMDQsMjA0KTtwYWRkaW5nOjFweCAzcHg7YmFja2dyb3VuZDpyZ2IoMjQ2LDI0NiwyNDYp O2ZvbnQtZmFtaWx5Om1lbmxvLGNvbnNvbGFzLG1vbm9zcGFjZTtmb250LXNpemU6OTAlIj5hbGxw cmludCgpPC9jb2RlPiBhbmQgb3RoZXIgZnVuY3Rpb25zIHRoYXQgYXJlIGxpc3RlZCBpbiB0aGUg PGNvZGUgc3R5bGU9ImJvcmRlci1yYWRpdXM6M3B4O2JvcmRlcjoxcHggc29saWQgcmdiKDIwNCwy MDQsMjA0KTtwYWRkaW5nOjFweCAzcHg7YmFja2dyb3VuZDpyZ2IoMjQ2LDI0NiwyNDYpO2ZvbnQt ZmFtaWx5Om1lbmxvLGNvbnNvbGFzLG1vbm9zcGFjZTtmb250LXNpemU6OTAlIj5ERUJVRzwvY29k ZT4gc2VjdGlvbiBvZiA8Yj48aT5zdWIxLmM8L2k+PC9iPi48YnIgLz48L2Rpdj48ZGl2PiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOzxiciAvPjwvZGl2PjxkaXY+Q2FuIHNvbWVvbmUgcG9pbnQgbWUgaW4gdGhl IHJpZ2h0IGRpcmVjdGlvbiwgb3IgdGVsbCBtZSB3aGF0IGFtIEkgbWlzc2luZyBoZXJlPzxiciAv PjwvZGl2PjxkaXY+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7PGJyIC8+PC9kaXY+PGRpdj5UaGFua3MhJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7PGJyIC8+PC9kaXY+PGRpdj5HeW9yZ3kmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YnIgLz48 L2Rpdj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PC9odG1sPjxkaXYgaWQ9InRvcGljYm94LWZv b3RlciIgc3R5bGU9Im1hcmdpbjoxMHB4IDAgMDtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkO2Jv cmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xNSk7cGFkZGluZzo3cHggMDsiPgoKPHN0cm9uZz48YSBo cmVmPSJodHRwczovLzlmYW5zLnRvcGljYm94LmNvbS9sYXRlc3QiIHN0eWxlPSJjb2xvcjppbmhl cml0O3RleHQtZGVjb3JhdGlvbjpub25lIj45ZmFuczwvYT48L3N0cm9uZz4KICAvIDlmYW5zIC8g c2VlCjxhIGhyZWY9Imh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85ZmFucyI+ZGlz Y3Vzc2lvbnM8L2E+CiAgKwo8YSBocmVmPSJodHRwczovLzlmYW5zLnRvcGljYm94LmNvbS9ncm91 cHMvOWZhbnMvbWVtYmVycyI+cGFydGljaXBhbnRzPC9hPgogICsKPGEgaHJlZj0iaHR0cHM6Ly85 ZmFucy50b3BpY2JveC5jb20vZ3JvdXBzLzlmYW5zL3N1YnNjcmlwdGlvbiI+ZGVsaXZlcnkmbmJz cDtvcHRpb25zPC9hPgo8YSBocmVmPSJodHRwczovLzlmYW5zLnRvcGljYm94LmNvbS9ncm91cHMv OWZhbnMvVGRhZGU4NWYyMDQ4NjI5YmQtTWIzYWYzZDVlMGNiYTI2NDA4NTNkOWY3NCIgc3R5bGU9 ImZsb2F0OnJpZ2h0Ij5QZXJtYWxpbms8L2E+CjwvZGl2Pgo8L2h0bWw+ --000000000000ee30bd05d08197aa--