From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id WH5DO5c4/mVxEAEAe85BDQ:P1 (envelope-from ) for ; Sat, 23 Mar 2024 03:04:08 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id WH5DO5c4/mVxEAEAe85BDQ (envelope-from ) for ; Sat, 23 Mar 2024 03:04:08 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fUlBZW1+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-science-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-science-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1711159447; a=rsa-sha256; cv=none; b=U4ZP5ylS5j1+qEBA0YFusN7Kl98OKDEvThY+La2+bAprqeIOX3Njc/niQGQ99oqKnpyNmb l4qHiHzk0c0Gb8xZ498Okb7QuyMG+zFFb4fBIKPLonmjdkmXTybvvZ8X6xrHJAtgZ1hZy1 bWrBLGttllwytCnqApxMhuslmanwWww3evy8HCqaThGoHrmbc9Hs7Hewx3eheaSjoOjNYZ nri+3Y7E465tkgJD7301L9LEv4yXAxokyip4LpneESz1h+31WhWUW9V76a/DOiDSTdnXMJ AfzXliZcGrK9sBh2s4nR1TgKCWH1MWoj/NGa89QXlpDGUy8IC3FNSYz0n5/YnA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fUlBZW1+; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "guix-science-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-science-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1711159447; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=ENo6SRmKhTDFueQvOj385XVNTrw/kk/VjzT6L2+dHlk=; b=OrSloCzBDIFr2Peb2ellBBrP39L0qUmE++VNYLDwVQOYpRkhbIyoIfmvm9HnuRYnC4t5Pc USMGhKYmlIb7QNkhboGoh03Rmt1WiBOULMM1Hh8dJBpLWcHAJoi7+NsbsYS44ATFgnnY3d ddiGBsvjGgAQIxkngmjkKfad+tuRZhsS5CMBadDvrr33oU8uWBFkZtkApbzrpYFsuCIrjC Dbm6KSKAxa86D/6Gy4tCevnNz0XTdwgjBOokPgIiAzY2yK2n34oBW+JRNnRDfSsgM4u6or eGyf9xmVRe+l4BU17Q73DPkLbS4p0IKew1ZTCPc04c+MJMxwIBt8XSzUXMsdXw== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 65CE617953 for ; Sat, 23 Mar 2024 03:04:07 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rnqjI-0007I6-Io; Fri, 22 Mar 2024 22:03:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rnqjG-0007HN-He; Fri, 22 Mar 2024 22:03:26 -0400 Received: from mail-lj1-x232.google.com ([2a00:1450:4864:20::232]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rnqjD-0008V6-IN; Fri, 22 Mar 2024 22:03:26 -0400 Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-2d68651e253so46116391fa.0; Fri, 22 Mar 2024 19:03:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711159400; x=1711764200; darn=gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ENo6SRmKhTDFueQvOj385XVNTrw/kk/VjzT6L2+dHlk=; b=fUlBZW1+ksNuLH8NfCrxg/T2waW3xLW4CbqF/pQrwFcnuABvG8RURK8PT4PevztdSg XOtz/4H+TskHO6seEAd0PmBOjTcISgmMhuck27HLnDusX5n6hvPjxbB2JXaJr5hzRXa6 eAgxZ1uIjWtvIeGXLSfDNpkYoEiducl7wROTzFGeBTQjQxrju5jCUqMMXqLy6t1xTx2+ E+ugWTfG/9McFCTe8pyRDv+jXdIVHIrs2hXQHPMjDtHN4O+gi5gEPqR73mQYaJJonIba NdkWNlVt5Eg57TZg11FrF3OiW9NSb2pzO9p6dUYOnHP54ftkQQf7maQi0VWrYdjhyLhv hpag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711159400; x=1711764200; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ENo6SRmKhTDFueQvOj385XVNTrw/kk/VjzT6L2+dHlk=; b=RPyFisRMHgrDsRYRT+pmM35bewpCdQsxjZeU+CfQ6eVWFcUskRL4ghYrqOoCteKn9y rEUM1YLJowsqmOhU46KSzjPXwuAJyh38jH03EsuoIG5l0Di+eaQ6UJBhlIqoO6kVDhLg Y8zy+ZRNQJXHno3Lzc2NHh3EoAfsVeO/4dYRY6VnmWjMGJlhCR7hJvQQ9Kkiw86K1KtX paikzLqvRbAjThyTx4eFB7HtMEU+jCLf1Rv95Lw55GqvuOxbpCaScOyu+LExfPW0Wafd RrcMv/MQhoF7zv3YJkWb/ZzZR9SjkUrdv3law+1krrPihIB+zHHKY8JEmRe7iHc/e0LA OMkw== X-Gm-Message-State: AOJu0YzstLWRhxojSY2MwyheRuN+rPF1wa8HH6/DzbfoF8LE/i0jsLjh 0sbaLRm3t2FxNmxFtaqY+Nza2Dab7R2La8VmxhekIUiGhTJo5x9ku+kzKsCVFcgpBOxUN1TCKa8 T/hKjDJqDuFSiTWQH1ALSp3Wt6hW989C6h5w= X-Google-Smtp-Source: AGHT+IFnW0/bVqo/g2lHwamK0IGH+5jpA7CaLYmsf+oS/+C0RcLB5TaBTfjtGTenL7U1fTke5QHb/8iD/9/GzKsHfBo= X-Received: by 2002:ac2:43db:0:b0:513:c4b8:388b with SMTP id u27-20020ac243db000000b00513c4b8388bmr641148lfl.27.1711159400328; Fri, 22 Mar 2024 19:03:20 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jake Date: Sat, 23 Mar 2024 02:03:09 +0000 Message-ID: Subject: Re: Multiple versions of mesa libraries in cmake runtime search path To: help-guix@gnu.org Cc: guix-science@gnu.org Content-Type: multipart/alternative; boundary="00000000000035f87d06144a5867" Received-SPF: pass client-ip=2a00:1450:4864:20::232; envelope-from=jforst.mailman@gmail.com; helo=mail-lj1-x232.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-science@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-science-bounces+larch=yhetil.org@gnu.org Sender: guix-science-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Spam-Score: -9.51 X-Migadu-Queue-Id: 65CE617953 X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -9.51 X-TUID: rppMyLwAyMes --00000000000035f87d06144a5867 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Happy to report a fix for this: Install both geant4-vis and mesa with the --no-grafts option. This makes sure only 1 variant of mesa is used. E.g. #+begin_src sh guix shell geant4-vis cmake make gcc-toolchain mesa --no-grafts #+end_src Cheers Jake On Fri, Mar 22, 2024 at 5:23=E2=80=AFAM Jake wro= te: > If the problem is that qtbase-5 is propagating a different mesa than the > one we can install (i.e. a different /gnu/store entry), let's try > installing qtbase-5 and using its propagated mesa instead of installing > mesa ourselves. > > #+begin_src sh > > guix shell geant4-vis cmake make gcc-toolchain qtbase@5 > > #+end_src > > Alas, we still have 2 different mesa versions: > > #+begin_example > > CMake Warning at CMakeLists.txt:35 (add_executable): > Cannot generate a safe runtime search path for target exampleA1 because > files in some directories may conflict with libraries in implicit > directories: > > runtime library [libEGL.so.1] in > /gnu/store/6imr8p8j0d59s4r0912xy8mficw8kc2y-profile/lib may be hidden by > files in: > /gnu/store/2rzdlwb0f7ksj7a78kjn7a7qs22avi8l-mesa-23.3.2/lib > runtime library [libGL.so.1] in > /gnu/store/6imr8p8j0d59s4r0912xy8mficw8kc2y-profile/lib may be hidden by > files in: > /gnu/store/2rzdlwb0f7ksj7a78kjn7a7qs22avi8l-mesa-23.3.2/lib > > Some of these libraries may not be found correctly. > > #+end_example > > The installed qtbase-5 propagates the same mesa as the one we can install= : > > /gnu/store/6imr8p8j0d59s4r0912xy8mficw8kc2y-profile/lib/libEGL.so -> > /gnu/store/clnk1arbkc6v21a93gxnirvsbjaz5v07-mesa-23.3.2/lib/libEGL.so > > So then, where is this other mesa coming from (2rzdlwb...), if not > qtbase-5? > > I've included possibly relevant lines from the generated CMakeCache.txt > > #+begin_example > > //Path to a file. > > OPENGL_EGL_INCLUDE_DIR:PATH=3D/gnu/store/6imr8p8j0d59s4r0912xy8mficw8kc2y= -profile/ > include > > //Path to a file. > > OPENGL_GLX_INCLUDE_DIR:PATH=3D/gnu/store/6imr8p8j0d59s4r0912xy8mficw8kc2y= -profile/ > include > > //Path to a file. > > OPENGL_INCLUDE_DIR:PATH=3D/gnu/store/2rzdlwb0f7ksj7a78kjn7a7qs22avi8l-mes= a-23.3.2/ > include > > //Path to a library. > > OPENGL_egl_LIBRARY:FILEPATH=3D/gnu/store/6imr8p8j0d59s4r0912xy8mficw8kc2y= -profile/ > lib/libEGL.so > > //Path to a library. > > OPENGL_gl_LIBRARY:FILEPATH=3D/gnu/store/2rzdlwb0f7ksj7a78kjn7a7qs22avi8l-= mesa-23.3 > .2/lib/libGL.so > > #+end_example > > Cheers > Jake > > On Thu, Mar 14, 2024 at 3:25=E2=80=AFAM Jake w= rote: > >> Hello >> >> In short, I have the mesa package installed and another package I >> installed appears to have a different mesa in /gnu/store/ as a runtime >> dependency. >> As a result, cmake is unable to generate a safe runtime search path, >> because there are 2 different libGL.so.1 and libEGL.so.1 files in the pa= th, >> one from the mesa I installed and another from the other mesa that was >> brought in as a runtime dependency. >> >> Here is the cmake warning: >> >> #+begin_src sh >> >> CMake Warning at CMakeLists.txt:35 (add_executable): >> Cannot generate a safe runtime search path for target exampleA1 >> because >> files in some directories may conflict with libraries in implicit >> directories: >> >> runtime library [libEGL.so.1] in /home/jake/.guix-profile/lib may >> be hidden by files in: >> /gnu/store/2rzdlwb0f7ksj7a78kjn7a7qs22avi8l-mesa-23.3.2/lib >> runtime library [libGL.so.1] in /home/jake/.guix-profile/lib may b= e >> hidden by files in: >> /gnu/store/2rzdlwb0f7ksj7a78kjn7a7qs22avi8l-mesa-23.3.2/lib >> >> Some of these libraries may not be found correctly. >> >> #+end_src >> >> I think the guix package definition below is somewhere introducing the >> additional mesa at /gnu/store/2rzdlwb0f7ksj7a78kjn7a7qs22avi8l-mesa-23.3= .2. >> The input clhep-2.4.6.2 and native inputs are omitted for brevity becaus= e >> I don't think they're relevant, but the full package definition and inpu= ts >> can be found at >> https://github.com/jakeforster/guix-channel/blob/master/jforst/packages/= geant4.scm >> >> #+begin_src scheme >> >> (define-public geant4-vis-11-1-1 >> (package >> (name "geant4-vis") >> (version "11.1.1") >> (source >> (origin >> (method git-fetch) >> (uri (git-reference >> (url "https://gitlab.cern.ch/geant4/geant4") >> (commit (string-append "v" version)))) >> (file-name (git-file-name name version)) >> (sha256 >> (base32 >> "141fhmh0w8sbp6cckccf3dswn596ds4vgqwc3gz6i53ypyxmv2fw")))) >> (build-system cmake-build-system) >> (inputs (list coreutils >> gcc-toolchain >> xerces-c >> expat >> clhep-2.4.6.2 >> python-2 >> python-3.10 >> perl >> tcsh >> qtbase-5 >> libxmu >> libxt)) >> (arguments >> `(#:configure-flags (let* ((out (assoc-ref %outputs "out")) >> (qt-path (string-append (assoc-ref >> %build-inputs >> "qtbase") >> >> "/lib/cmake/Qt5"))) >> (list (string-append >> "-DCMAKE_INSTALL_PREFIX=3D" out) >> (string-append "-DCMAKE_PREFIX_PATH= =3D" >> qt-path) >> "-DCMAKE_INSTALL_LIBDIR=3Dlib" >> "-DGEANT4_BUILD_MULTITHREADED=3DON" >> "-DGEANT4_ENABLE_TESTING=3DOFF" >> "-DGEANT4_INSTALL_DATA=3DOFF" >> "-DGEANT4_USE_GDML=3DON" ;xerces-c is >> needed for GDML >> "-DGEANT4_USE_SYSTEM_CLHEP=3DON" >> "-DGEANT4_USE_SYSTEM_EXPAT=3DON" >> "-DGEANT4_USE_OPENGL_X11=3DON" >> "-DGEANT4_USE_QT=3DON" >> (let ((datadir (string-append out >> "/share/geant4/data")= )) >> (string-append >> "-DGEANT4_INSTALL_DATADIR=3D" >> datadir >> "/share/geant4/data")))) >> #:phases (modify-phases %standard-phases >> (add-after 'install 'install-data >> (lambda* (#:key inputs outputs #:allow-other-keys) >> (let ((G4NDL (assoc-ref inputs "G4NDL")) >> (G4EMLOW (assoc-ref inputs "G4EMLOW")) >> (G4PhotonEvaporation (assoc-ref inputs >> >> "G4PhotonEvaporation")) >> (G4RadioactiveDecay (assoc-ref inputs >> "G4RadioactiveDecay")= ) >> (G4PARTICLEXS (assoc-ref inputs >> "G4PARTICLEXS")) >> (G4PII (assoc-ref inputs "G4PII")) >> (G4RealSurface (assoc-ref inputs >> "G4RealSurface")) >> (G4SAIDDATA (assoc-ref inputs "G4SAIDDATA"= )) >> (G4ABLA (assoc-ref inputs "G4ABLA")) >> (G4INCL (assoc-ref inputs "G4INCL")) >> (G4ENSDFSTATE (assoc-ref inputs >> "G4ENSDFSTATE")) >> (G4TENDL (assoc-ref inputs "G4TENDL")) >> (datadir (string-append (assoc-ref outputs >> "out") >> >> "/share/geant4/data"))) >> (display (list "Data archives:" >> G4NDL >> G4EMLOW >> G4PhotonEvaporation >> G4RadioactiveDecay >> G4PARTICLEXS >> G4PII >> G4RealSurface >> G4SAIDDATA >> G4ABLA >> G4INCL >> G4ENSDFSTATE)) >> (newline) >> (mkdir-p datadir) >> (invoke "tar" "xvf" G4NDL "-C" datadir) >> (invoke "tar" "xvf" G4EMLOW "-C" datadir) >> (invoke "tar" "xvf" G4PhotonEvaporation "-C" >> datadir) >> (invoke "tar" "xvf" G4RadioactiveDecay "-C" >> datadir) >> (invoke "tar" "xvf" G4PARTICLEXS "-C" datadir) >> (invoke "tar" "xvf" G4PII "-C" datadir) >> (invoke "tar" "xvf" G4RealSurface "-C" datadir= ) >> (invoke "tar" "xvf" G4SAIDDATA "-C" datadir) >> (invoke "tar" "xvf" G4ABLA "-C" datadir) >> (invoke "tar" "xvf" G4INCL "-C" datadir) >> (invoke "tar" "xvf" G4ENSDFSTATE "-C" datadir) >> (invoke "tar" "xvf" G4TENDL "-C" datadir))))) >> ;; no tests in Makefile >> #:tests? #f)) >> (native-inputs `(("G4NDL" ,g4ndl-4.7) >> ("G4EMLOW" ,g4emlow-8.2) >> ("G4PhotonEvaporation" ,photon-evaporation-5.7) >> ("G4RadioactiveDecay" ,radioactive-decay-5.6) >> ("G4PARTICLEXS" ,g4particlexs-4.0) >> ("G4PII" ,g4pii-1.3) >> ("G4RealSurface" ,real-surface-2.2) >> ("G4SAIDDATA" ,g4saiddata-2.0) >> ("G4ABLA" ,g4abla-3.1) >> ("G4INCL" ,g4incl-1.0) >> ("G4ENSDFSTATE" ,g4ensdfstate-2.3) >> ("G4TENDL" ,g4tendl-1.4))) >> (home-page "https://geant4.web.cern.ch") >> (synopsis "Monte Carlo particle track simulations") >> (description >> "Geant4 is a toolkit for the simulation of the passage of particl= es >> through matter. Its areas of application include high energy, >> nuclear and accelerator physics, as well as studies >> in medical and space science. >> >> This package supports visualisation with OpenGL and Qt.") >> (license (license:non-copyleft >> "https://geant4.web.cern.ch/download/license")))) >> >> #+end_src >> >> Steps to reproduce the cmake warning given above: >> >> #+begin_src sh >> >> git clone https://github.com/jakeforster/guix-channel.git >> guix shell -L ./guix-channel geant4-vis cmake make gcc-toolchain mesa >> >> # copy an example app >> INSTALL_DIR=3D$(guix build geant4-vis) >> cp -rf $INSTALL_DIR/share/Geant4/examples/basic/B1 . >> >> # the store is read only >> chmod -R 751 B1/ >> >> mkdir B1/build >> cd B1/build >> cmake .. >> >> #+end_src >> >> I have also reproduced the warning using a guix shell -C --pure. There's >> just some extra hassle with making the build dir first and sharing the B= 1 >> directory containing the CMakeLists.txt file. >> >> If you use your profile instead of a shell, you can confirm the >> libEGL.so.1 and libGL.so.1 libraries in ~/.guix-profile/lib/ point to th= e >> same mesa in /gnu/store/ that is installed with the following: >> >> #+begin_src sh >> >> $ guix package -I | grep mesa >> mesa 23.3.2 out >> /gnu/store/clnk1arbkc6v21a93gxnirvsbjaz5v07-mesa-23.3.2 >> >> $ ls -l ~/.guix-profile/lib/ | grep libEGL.so.1 >> lrwxrwxrwx 1 root root 71 Jan 1 1970 libEGL.so.1 -> >> /gnu/store/clnk1arbkc6v21a93gxnirvsbjaz5v07-mesa-23.3.2/lib/libEGL.so.1 >> >> $ ls -l ~/.guix-profile/lib/ | grep libGL.so.1 >> lrwxrwxrwx 1 root root 70 Jan 1 1970 libGL.so.1 -> >> /gnu/store/clnk1arbkc6v21a93gxnirvsbjaz5v07-mesa-23.3.2/lib/libGL.so.1 >> >> #+end_src >> >> So I'm guessing during the installation of geant4-vis, something is >> bringing in a different mesa from the store >> (/gnu/store/2rzdlwb0f7ksj7a78kjn7a7qs22avi8l-mesa-23.3.2) into the path = as >> a runtime dependency. >> I note that qtbase-5 has mesa as a propagated input, so perhaps it's tha= t. >> But it's not clear to me why the mesa propagated for qtbase-5 would be >> different (i.e. has a different /gnu/store/ entry) from the mesa that I >> install in my profile or shell. >> Any suggestions for how to resolve this would be much appreciated. >> >> Thanks! >> >> Jake >> > --00000000000035f87d06144a5867 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj5IYXBweSB0byByZXBvcnQgYSBmaXggZm9yIHRoaXM6IEluc3Rh bGwgYm90aCBnZWFudDQtdmlzIGFuZCBtZXNhIHdpdGggdGhlIC0tbm8tZ3JhZnRzIG9wdGlvbi4g VGhpcyBtYWtlcyBzdXJlIG9ubHkgMSB2YXJpYW50IG9mIG1lc2EgaXMgdXNlZC7CoDwvZGl2Pjxk aXY+PGJyPjwvZGl2PjxkaXY+RS5nLjwvZGl2PjxkaXY+PGRpdj4jK2JlZ2luX3NyYyBzaDwvZGl2 PjxkaXY+PGJyPjwvZGl2PsKgwqDCoCBndWl4IHNoZWxsIGdlYW50NC12aXMgY21ha2UgbWFrZSBn Y2MtdG9vbGNoYWluIG1lc2EgLS1uby1ncmFmdHM8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj4jK2VuZF9zcmM8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNoZWVyczwvZGl2PjxkaXY+SmFr ZTxicj48L2Rpdj48L2Rpdj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgZGlyPSJs dHIiIGNsYXNzPSJnbWFpbF9hdHRyIj5PbiBGcmksIE1hciAyMiwgMjAyNCBhdCA1OjIz4oCvQU0g SmFrZSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmpmb3JzdC5tYWlsbWFuQGdtYWlsLmNvbSI+amZvcnN0 Lm1haWxtYW5AZ21haWwuY29tPC9hPiZndDsgd3JvdGU6PGJyPjwvZGl2PjxibG9ja3F1b3RlIGNs YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXIt bGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGRp cj0ibHRyIj48ZGl2PjwvZGl2PjxkaXY+SWYgdGhlIHByb2JsZW0gaXMgdGhhdCBxdGJhc2UtNSBp cyBwcm9wYWdhdGluZyBhIGRpZmZlcmVudCBtZXNhIHRoYW4gdGhlIG9uZSB3ZSBjYW4gaW5zdGFs bCAoaS5lLiBhIGRpZmZlcmVudCAvZ251L3N0b3JlIGVudHJ5KSwgbGV0JiMzOTtzIHRyeSBpbnN0 YWxsaW5nIHF0YmFzZS01IGFuZCB1c2luZyBpdHMgcHJvcGFnYXRlZCBtZXNhIGluc3RlYWQgb2Yg aW5zdGFsbGluZyBtZXNhIG91cnNlbHZlcy48YnI+PGRpdj48YnI+PC9kaXY+PGRpdj4jK2JlZ2lu X3NyYyBzaDwvZGl2PjxkaXY+PGJyPjwvZGl2PsKgwqDCoCBndWl4IHNoZWxsIGdlYW50NC12aXMg Y21ha2UgbWFrZSBnY2MtdG9vbGNoYWluIHF0YmFzZUA1PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj4jK2VuZF9zcmM8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkFsYXMsIHdlIHN0aWxsIGhhdmUg MiBkaWZmZXJlbnQgbWVzYSB2ZXJzaW9uczo8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4j K2JlZ2luX2V4YW1wbGU8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNNYWtlIFdhcm5pbmcgYXQg Q01ha2VMaXN0cy50eHQ6MzUgKGFkZF9leGVjdXRhYmxlKTo8YnI+wqAgQ2Fubm90IGdlbmVyYXRl IGEgc2FmZSBydW50aW1lIHNlYXJjaCBwYXRoIGZvciB0YXJnZXQgZXhhbXBsZUExIGJlY2F1c2U8 YnI+wqAgZmlsZXMgaW4gc29tZSBkaXJlY3RvcmllcyBtYXkgY29uZmxpY3Qgd2l0aCBsaWJyYXJp ZXMgaW4gaW1wbGljaXQ8YnI+wqAgZGlyZWN0b3JpZXM6PGJyPjxicj7CoCDCoCBydW50aW1lIGxp YnJhcnkgW2xpYkVHTC5zby4xXSBpbiAvZ251L3N0b3JlLzZpbXI4cDhqMGQ1OXM0cjA5MTJ4eTht ZmljdzhrYzJ5LXByb2ZpbGUvbGliIG1heSBiZSBoaWRkZW4gYnkgZmlsZXMgaW46PGJyPsKgIMKg IMKgIC9nbnUvc3RvcmUvMnJ6ZGx3YjBmN2tzajdhNzhram43YTdxczIyYXZpOGwtbWVzYS0yMy4z LjIvbGliPGJyPsKgIMKgIHJ1bnRpbWUgbGlicmFyeSBbbGliR0wuc28uMV0gaW4gL2dudS9zdG9y ZS82aW1yOHA4ajBkNTlzNHIwOTEyeHk4bWZpY3c4a2MyeS1wcm9maWxlL2xpYiBtYXkgYmUgaGlk ZGVuIGJ5IGZpbGVzIGluOjxicj7CoCDCoCDCoCAvZ251L3N0b3JlLzJyemRsd2IwZjdrc2o3YTc4 a2puN2E3cXMyMmF2aThsLW1lc2EtMjMuMy4yL2xpYjxicj48YnI+wqAgU29tZSBvZiB0aGVzZSBs aWJyYXJpZXMgbWF5IG5vdCBiZSBmb3VuZCBjb3JyZWN0bHkuPC9kaXY+PGRpdj48L2Rpdj48ZGl2 Pjxicj48L2Rpdj48ZGl2PiMrZW5kX2V4YW1wbGU8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRo ZSBpbnN0YWxsZWQgcXRiYXNlLTUgcHJvcGFnYXRlcyB0aGUgc2FtZSBtZXNhIGFzIHRoZSBvbmUg d2UgY2FuIGluc3RhbGw6PGJyPjxicj4vZ251L3N0b3JlLzZpbXI4cDhqMGQ1OXM0cjA5MTJ4eTht ZmljdzhrYzJ5LXByb2ZpbGUvbGliL2xpYkVHTC5zbyAtJmd0OyAvZ251L3N0b3JlL2NsbmsxYXJi a2M2djIxYTkzZ3huaXJ2c2JqYXo1djA3LW1lc2EtMjMuMy4yL2xpYi9saWJFR0wuc288YnI+PGJy PlNvIHRoZW4sIHdoZXJlIGlzIHRoaXMgb3RoZXIgbWVzYSBjb21pbmcgZnJvbSAoMnJ6ZGx3Yi4u LiksIGlmIG5vdCBxdGJhc2UtNT88YnI+PGJyPkkmIzM5O3ZlIGluY2x1ZGVkIHBvc3NpYmx5IHJl bGV2YW50IGxpbmVzIGZyb20gdGhlIGdlbmVyYXRlZCBDTWFrZUNhY2hlLnR4dDxicj48L2Rpdj48 ZGl2Pjxicj48L2Rpdj48ZGl2PiMrYmVnaW5fZXhhbXBsZTwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk aXY+Ly9QYXRoIHRvIGEgZmlsZS48YnI+T1BFTkdMX0VHTF9JTkNMVURFX0RJUjpQQVRIPS9nbnUv c3RvcmUvNmltcjhwOGowZDU5czRyMDkxMnh5OG1maWN3OGtjMnktcHJvZmlsZS88YnI+aW5jbHVk ZTxicj48YnI+Ly9QYXRoIHRvIGEgZmlsZS48YnI+T1BFTkdMX0dMWF9JTkNMVURFX0RJUjpQQVRI PS9nbnUvc3RvcmUvNmltcjhwOGowZDU5czRyMDkxMnh5OG1maWN3OGtjMnktcHJvZmlsZS88YnI+ aW5jbHVkZTxicj48YnI+Ly9QYXRoIHRvIGEgZmlsZS48YnI+T1BFTkdMX0lOQ0xVREVfRElSOlBB VEg9L2dudS9zdG9yZS8ycnpkbHdiMGY3a3NqN2E3OGtqbjdhN3FzMjJhdmk4bC1tZXNhLTIzLjMu Mi88YnI+aW5jbHVkZTxicj48YnI+Ly9QYXRoIHRvIGEgbGlicmFyeS48YnI+T1BFTkdMX2VnbF9M SUJSQVJZOkZJTEVQQVRIPS9nbnUvc3RvcmUvNmltcjhwOGowZDU5czRyMDkxMnh5OG1maWN3OGtj MnktcHJvZmlsZS88YnI+bGliL2xpYkVHTC5zbzxicj48YnI+Ly9QYXRoIHRvIGEgbGlicmFyeS48 YnI+T1BFTkdMX2dsX0xJQlJBUlk6RklMRVBBVEg9L2dudS9zdG9yZS8ycnpkbHdiMGY3a3NqN2E3 OGtqbjdhN3FzMjJhdmk4bC1tZXNhLTIzLjM8YnI+LjIvbGliL2xpYkdMLnNvPC9kaXY+PGRpdj48 YnI+PC9kaXY+PGRpdj4jK2VuZF9leGFtcGxlPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5DaGVl cnM8YnI+PC9kaXY+PGRpdj5KYWtlPGJyPjwvZGl2PjwvZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFp bF9xdW90ZSI+PGRpdiBkaXI9Imx0ciIgY2xhc3M9ImdtYWlsX2F0dHIiPk9uIFRodSwgTWFyIDE0 LCAyMDI0IGF0IDM6MjXigK9BTSBKYWtlICZsdDs8YSBocmVmPSJtYWlsdG86amZvcnN0Lm1haWxt YW5AZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+amZvcnN0Lm1haWxtYW5AZ21haWwuY29tPC9h PiZndDsgd3JvdGU6PGJyPjwvZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5 bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIw NCwyMDQsMjA0KTtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGRpcj0ibHRyIj5IZWxsbzxkaXY+PGJy PkluIHNob3J0LCBJIGhhdmUgdGhlIG1lc2EgcGFja2FnZSBpbnN0YWxsZWQgYW5kIGFub3RoZXIg cGFja2FnZSBJIGluc3RhbGxlZCBhcHBlYXJzIHRvIGhhdmUgYSBkaWZmZXJlbnQgbWVzYSBpbiAv Z251L3N0b3JlLyBhcyBhIHJ1bnRpbWUgZGVwZW5kZW5jeS48YnI+QXMgYSByZXN1bHQsIGNtYWtl IGlzIHVuYWJsZSB0byBnZW5lcmF0ZSBhIHNhZmUgcnVudGltZSBzZWFyY2ggcGF0aCwgYmVjYXVz ZSB0aGVyZSBhcmUgMiBkaWZmZXJlbnQgbGliR0wuc28uMSBhbmQgbGliRUdMLnNvLjEgZmlsZXMg aW4gdGhlIHBhdGgsIG9uZSBmcm9tIHRoZSBtZXNhIEkgaW5zdGFsbGVkIGFuZCBhbm90aGVyIGZy b20gdGhlIG90aGVyIG1lc2EgdGhhdCB3YXMgYnJvdWdodCBpbiBhcyBhIHJ1bnRpbWUgZGVwZW5k ZW5jeS48YnI+PGJyPkhlcmUgaXMgdGhlIGNtYWtlIHdhcm5pbmc6PGJyPjxicj4jK2JlZ2luX3Ny YyBzaDxicj48YnI+wqAgQ01ha2UgV2FybmluZyBhdCBDTWFrZUxpc3RzLnR4dDozNSAoYWRkX2V4 ZWN1dGFibGUpOjxicj7CoCDCoCBDYW5ub3QgZ2VuZXJhdGUgYSBzYWZlIHJ1bnRpbWUgc2VhcmNo IHBhdGggZm9yIHRhcmdldCBleGFtcGxlQTEgYmVjYXVzZTxicj7CoCDCoCBmaWxlcyBpbiBzb21l IGRpcmVjdG9yaWVzIG1heSBjb25mbGljdCB3aXRoIGxpYnJhcmllcyBpbiBpbXBsaWNpdDxicj7C oCDCoCBkaXJlY3Rvcmllczo8YnI+PGJyPsKgIMKgIMKgIHJ1bnRpbWUgbGlicmFyeSBbbGliRUdM LnNvLjFdIGluIC9ob21lL2pha2UvLmd1aXgtcHJvZmlsZS9saWIgbWF5IGJlIGhpZGRlbiBieSBm aWxlcyBpbjo8YnI+wqAgwqAgwqAgwqAgL2dudS9zdG9yZS8ycnpkbHdiMGY3a3NqN2E3OGtqbjdh N3FzMjJhdmk4bC1tZXNhLTIzLjMuMi9saWI8YnI+wqAgwqAgwqAgcnVudGltZSBsaWJyYXJ5IFts aWJHTC5zby4xXSBpbiAvaG9tZS9qYWtlLy5ndWl4LXByb2ZpbGUvbGliIG1heSBiZSBoaWRkZW4g YnkgZmlsZXMgaW46PGJyPsKgIMKgIMKgIMKgIC9nbnUvc3RvcmUvMnJ6ZGx3YjBmN2tzajdhNzhr am43YTdxczIyYXZpOGwtbWVzYS0yMy4zLjIvbGliPGJyPjxicj7CoCDCoCBTb21lIG9mIHRoZXNl IGxpYnJhcmllcyBtYXkgbm90IGJlIGZvdW5kIGNvcnJlY3RseS48YnI+PGJyPiMrZW5kX3NyYzxi cj48YnI+SSB0aGluayB0aGUgZ3VpeCBwYWNrYWdlIGRlZmluaXRpb24gYmVsb3cgaXMgc29tZXdo ZXJlIGludHJvZHVjaW5nIHRoZSBhZGRpdGlvbmFsIG1lc2EgYXQgL2dudS9zdG9yZS8ycnpkbHdi MGY3a3NqN2E3OGtqbjdhN3FzMjJhdmk4bC1tZXNhLTIzLjMuMi48YnI+VGhlIGlucHV0IGNsaGVw LTIuNC42LjIgYW5kIG5hdGl2ZSBpbnB1dHMgYXJlIG9taXR0ZWQgZm9yIGJyZXZpdHkgYmVjYXVz ZSBJIGRvbiYjMzk7dCB0aGluayB0aGV5JiMzOTtyZSByZWxldmFudCwgYnV0IHRoZSBmdWxsIHBh Y2thZ2UgZGVmaW5pdGlvbiBhbmQgaW5wdXRzIGNhbiBiZSBmb3VuZCBhdCA8YSBocmVmPSJodHRw czovL2dpdGh1Yi5jb20vamFrZWZvcnN0ZXIvZ3VpeC1jaGFubmVsL2Jsb2IvbWFzdGVyL2pmb3Jz dC9wYWNrYWdlcy9nZWFudDQuc2NtIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29t L2pha2Vmb3JzdGVyL2d1aXgtY2hhbm5lbC9ibG9iL21hc3Rlci9qZm9yc3QvcGFja2FnZXMvZ2Vh bnQ0LnNjbTwvYT48YnI+PGJyPiMrYmVnaW5fc3JjIHNjaGVtZTxicj48YnI+wqAgKGRlZmluZS1w dWJsaWMgZ2VhbnQ0LXZpcy0xMS0xLTE8YnI+wqAgwqAgKHBhY2thZ2U8YnI+wqAgwqAgwqAgKG5h bWUgJnF1b3Q7Z2VhbnQ0LXZpcyZxdW90Oyk8YnI+wqAgwqAgwqAgKHZlcnNpb24gJnF1b3Q7MTEu MS4xJnF1b3Q7KTxicj7CoCDCoCDCoCAoc291cmNlPGJyPsKgIMKgIMKgIMKgKG9yaWdpbjxicj7C oCDCoCDCoCDCoCDCoChtZXRob2QgZ2l0LWZldGNoKTxicj7CoCDCoCDCoCDCoCDCoCh1cmkgKGdp dC1yZWZlcmVuY2U8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAodXJsICZxdW90OzxhIGhyZWY9 Imh0dHBzOi8vZ2l0bGFiLmNlcm4uY2gvZ2VhbnQ0L2dlYW50NCIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHBzOi8vZ2l0bGFiLmNlcm4uY2gvZ2VhbnQ0L2dlYW50NDwvYT4mcXVvdDspPGJyPsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgKGNvbW1pdCAoc3RyaW5nLWFwcGVuZCAmcXVvdDt2JnF1b3Q7IHZlcnNp b24pKSkpPGJyPsKgIMKgIMKgIMKgIMKgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZl cnNpb24pKTxicj7CoCDCoCDCoCDCoCDCoChzaGEyNTY8YnI+wqAgwqAgwqAgwqAgwqAgKGJhc2Uz MiAmcXVvdDsxNDFmaG1oMHc4c2JwNmNja2NjZjNkc3duNTk2ZHM0dmdxd2MzZ3o2aTUzeXB5eG12 MmZ3JnF1b3Q7KSkpKTxicj7CoCDCoCDCoCAoYnVpbGQtc3lzdGVtIGNtYWtlLWJ1aWxkLXN5c3Rl bSk8YnI+wqAgwqAgwqAgKGlucHV0cyAobGlzdCBjb3JldXRpbHM8YnI+wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgZ2NjLXRvb2xjaGFpbjxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCB4ZXJjZXMtYzxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBleHBhdDxicj7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBjbGhlcC0yLjQuNi4yPGJyPsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIHB5dGhvbi0yPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIHB5dGhvbi0zLjEwPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHBlcmw8YnI+ wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdGNzaDxicj7CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBxdGJhc2UtNTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBsaWJ4 bXU8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgbGlieHQpKTxicj7CoCDCoCDCoCAo YXJndW1lbnRzPGJyPsKgIMKgIMKgIMKgYCgjOmNvbmZpZ3VyZS1mbGFncyAobGV0KiAoKG91dCAo YXNzb2MtcmVmICVvdXRwdXRzICZxdW90O291dCZxdW90OykpPGJyPsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChxdC1wYXRoIChzdHJpbmctYXBwZW5k IChhc3NvYy1yZWY8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAlYnVpbGQtaW5w dXRzPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJnF1b3Q7cXRiYXNlJnF1b3Q7 KTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAmcXVvdDsvbGliL2NtYWtlL1F0NSZx dW90OykpKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChs aXN0IChzdHJpbmctYXBwZW5kICZxdW90Oy1EQ01BS0VfSU5TVEFMTF9QUkVGSVg9JnF1b3Q7IG91 dCk8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAoc3RyaW5nLWFwcGVuZCAmcXVvdDstRENNQUtFX1BSRUZJWF9QQVRIPSZxdW90OyBxdC1wYXRo KTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCZxdW90Oy1EQ01BS0VfSU5TVEFMTF9MSUJESVI9bGliJnF1b3Q7PGJyPsKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJnF1b3Q7LURHRUFOVDRfQlVJ TERfTVVMVElUSFJFQURFRD1PTiZxdW90Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90Oy1ER0VBTlQ0X0VOQUJMRV9URVNUSU5HPU9G RiZxdW90Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCZxdW90Oy1ER0VBTlQ0X0lOU1RBTExfREFUQT1PRkYmcXVvdDs8YnI+wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmcXVvdDstREdFQU5U NF9VU0VfR0RNTD1PTiZxdW90OyA7eGVyY2VzLWMgaXMgbmVlZGVkIGZvciBHRE1MPGJyPsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgJnF1b3Q7LURH RUFOVDRfVVNFX1NZU1RFTV9DTEhFUD1PTiZxdW90Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90Oy1ER0VBTlQ0X1VTRV9TWVNURU1f RVhQQVQ9T04mcXVvdDs8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAmcXVvdDstREdFQU5UNF9VU0VfT1BFTkdMX1gxMT1PTiZxdW90Ozxicj7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90 Oy1ER0VBTlQ0X1VTRV9RVD1PTiZxdW90Ozxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoChsZXQgKChkYXRhZGlyIChzdHJpbmctYXBwZW5kIG91 dDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZxdW90Oy9zaGFyZS9nZWFudDQvZGF0YSZxdW90Oykp KTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoChzdHJpbmctYXBwZW5kICZxdW90Oy1ER0VBTlQ0X0lOU1RBTExfREFUQURJUj0mcXVvdDs8 YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGF0YWRpciAmcXVvdDsvc2hhcmUvZ2VhbnQ0L2RhdGEm cXVvdDspKSkpPGJyPsKgIMKgIMKgIMKgIMKgIzpwaGFzZXMgKG1vZGlmeS1waGFzZXMgJXN0YW5k YXJkLXBoYXNlczxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoYWRkLWFmdGVyICYj Mzk7aW5zdGFsbCAmIzM5O2luc3RhbGwtZGF0YTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCAobGFtYmRhKiAoIzprZXkgaW5wdXRzIG91dHB1dHMgIzphbGxvdy1vdGhlci1rZXlz KTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAobGV0ICgoRzROREwgKGFz c29jLXJlZiBpbnB1dHMgJnF1b3Q7RzROREwmcXVvdDspKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoRzRFTUxPVyAoYXNzb2MtcmVmIGlucHV0cyAmcXVv dDtHNEVNTE9XJnF1b3Q7KSk8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgKEc0UGhvdG9uRXZhcG9yYXRpb24gKGFzc29jLXJlZiBpbnB1dHM8YnI+wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgJnF1b3Q7RzRQaG90b25FdmFwb3JhdGlvbiZxdW90OykpPGJyPsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChHNFJhZGlvYWN0aXZlRGVj YXkgKGFzc29jLXJlZiBpbnB1dHM8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmcXVvdDtHNFJhZGlv YWN0aXZlRGVjYXkmcXVvdDspKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCAoRzRQQVJUSUNMRVhTIChhc3NvYy1yZWYgaW5wdXRzICZxdW90O0c0UEFSVElD TEVYUyZxdW90OykpPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIChHNFBJSSAoYXNzb2MtcmVmIGlucHV0cyAmcXVvdDtHNFBJSSZxdW90OykpPGJyPsKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChHNFJlYWxTdXJmYWNlIChh c3NvYy1yZWYgaW5wdXRzICZxdW90O0c0UmVhbFN1cmZhY2UmcXVvdDspKTxicj7CoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoRzRTQUlEREFUQSAoYXNzb2MtcmVm IGlucHV0cyAmcXVvdDtHNFNBSUREQVRBJnF1b3Q7KSk8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKEc0QUJMQSAoYXNzb2MtcmVmIGlucHV0cyAmcXVvdDtH NEFCTEEmcXVvdDspKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCAoRzRJTkNMIChhc3NvYy1yZWYgaW5wdXRzICZxdW90O0c0SU5DTCZxdW90OykpPGJyPsKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChHNEVOU0RGU1RBVEUg KGFzc29jLXJlZiBpbnB1dHMgJnF1b3Q7RzRFTlNERlNUQVRFJnF1b3Q7KSk8YnI+wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKEc0VEVOREwgKGFzc29jLXJlZiBp bnB1dHMgJnF1b3Q7RzRURU5ETCZxdW90OykpPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIChkYXRhZGlyIChzdHJpbmctYXBwZW5kIChhc3NvYy1yZWYgb3V0 cHV0cyAmcXVvdDtvdXQmcXVvdDspPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICZxdW90Oy9z aGFyZS9nZWFudDQvZGF0YSZxdW90OykpKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCAoZGlzcGxheSAobGlzdCAmcXVvdDtEYXRhIGFyY2hpdmVzOiZxdW90Ozxicj7C oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoEc0TkRMPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgRzRFTUxPVzxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEc0UGhvdG9uRXZhcG9yYXRpb248YnI+ wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqBHNFJhZGlvYWN0aXZlRGVjYXk8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBHNFBBUlRJQ0xFWFM8YnI+wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBHNFBJ STxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoEc0UmVhbFN1cmZhY2U8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBHNFNBSUREQVRBPGJyPsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgRzRBQkxB PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgRzRJTkNMPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgRzRFTlNERlNUQVRFKSk8YnI+wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKG5ld2xpbmUpPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIChta2Rpci1wIGRhdGFkaXIpPGJyPsKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIChpbnZva2UgJnF1b3Q7dGFyJnF1b3Q7ICZxdW90O3h2ZiZx dW90OyBHNE5ETCAmcXVvdDstQyZxdW90OyBkYXRhZGlyKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCAoaW52b2tlICZxdW90O3RhciZxdW90OyAmcXVvdDt4dmYmcXVv dDsgRzRFTUxPVyAmcXVvdDstQyZxdW90OyBkYXRhZGlyKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCAoaW52b2tlICZxdW90O3RhciZxdW90OyAmcXVvdDt4dmYmcXVv dDsgRzRQaG90b25FdmFwb3JhdGlvbiAmcXVvdDstQyZxdW90OyBkYXRhZGlyKTxicj7CoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoaW52b2tlICZxdW90O3RhciZxdW90OyAm cXVvdDt4dmYmcXVvdDsgRzRSYWRpb2FjdGl2ZURlY2F5ICZxdW90Oy1DJnF1b3Q7IGRhdGFkaXIp PGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChpbnZva2UgJnF1b3Q7 dGFyJnF1b3Q7ICZxdW90O3h2ZiZxdW90OyBHNFBBUlRJQ0xFWFMgJnF1b3Q7LUMmcXVvdDsgZGF0 YWRpcik8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKGludm9rZSAm cXVvdDt0YXImcXVvdDsgJnF1b3Q7eHZmJnF1b3Q7IEc0UElJICZxdW90Oy1DJnF1b3Q7IGRhdGFk aXIpPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChpbnZva2UgJnF1 b3Q7dGFyJnF1b3Q7ICZxdW90O3h2ZiZxdW90OyBHNFJlYWxTdXJmYWNlICZxdW90Oy1DJnF1b3Q7 IGRhdGFkaXIpPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChpbnZv a2UgJnF1b3Q7dGFyJnF1b3Q7ICZxdW90O3h2ZiZxdW90OyBHNFNBSUREQVRBICZxdW90Oy1DJnF1 b3Q7IGRhdGFkaXIpPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChp bnZva2UgJnF1b3Q7dGFyJnF1b3Q7ICZxdW90O3h2ZiZxdW90OyBHNEFCTEEgJnF1b3Q7LUMmcXVv dDsgZGF0YWRpcik8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKGlu dm9rZSAmcXVvdDt0YXImcXVvdDsgJnF1b3Q7eHZmJnF1b3Q7IEc0SU5DTCAmcXVvdDstQyZxdW90 OyBkYXRhZGlyKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAoaW52 b2tlICZxdW90O3RhciZxdW90OyAmcXVvdDt4dmYmcXVvdDsgRzRFTlNERlNUQVRFICZxdW90Oy1D JnF1b3Q7IGRhdGFkaXIpPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IChpbnZva2UgJnF1b3Q7dGFyJnF1b3Q7ICZxdW90O3h2ZiZxdW90OyBHNFRFTkRMICZxdW90Oy1D JnF1b3Q7IGRhdGFkaXIpKSkpKTxicj7CoCDCoCDCoCDCoCDCoDs7IG5vIHRlc3RzIGluIE1ha2Vm aWxlPGJyPsKgIMKgIMKgIMKgIMKgIzp0ZXN0cz8gI2YpKTxicj7CoCDCoCDCoCAobmF0aXZlLWlu cHV0cyBgKCgmcXVvdDtHNE5ETCZxdW90OyAsZzRuZGwtNC43KTxicj7CoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCgmcXVvdDtHNEVNTE9XJnF1b3Q7ICxnNGVtbG93LTguMik8YnI+ wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7RzRQaG90b25FdmFwb3Jh dGlvbiZxdW90OyAscGhvdG9uLWV2YXBvcmF0aW9uLTUuNyk8YnI+wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7RzRSYWRpb2FjdGl2ZURlY2F5JnF1b3Q7ICxyYWRpb2Fj dGl2ZS1kZWNheS01LjYpPGJyPsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZx dW90O0c0UEFSVElDTEVYUyZxdW90OyAsZzRwYXJ0aWNsZXhzLTQuMCk8YnI+wqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7RzRQSUkmcXVvdDsgLGc0cGlpLTEuMyk8YnI+ wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7RzRSZWFsU3VyZmFjZSZx dW90OyAscmVhbC1zdXJmYWNlLTIuMik8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAoJnF1b3Q7RzRTQUlEREFUQSZxdW90OyAsZzRzYWlkZGF0YS0yLjApPGJyPsKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O0c0QUJMQSZxdW90OyAsZzRhYmxhLTMu MSk8YnI+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoJnF1b3Q7RzRJTkNMJnF1 b3Q7ICxnNGluY2wtMS4wKTxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCgm cXVvdDtHNEVOU0RGU1RBVEUmcXVvdDsgLGc0ZW5zZGZzdGF0ZS0yLjMpPGJyPsKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKCZxdW90O0c0VEVOREwmcXVvdDsgLGc0dGVuZGwtMS40 KSkpPGJyPsKgIMKgIMKgIChob21lLXBhZ2UgJnF1b3Q7PGEgaHJlZj0iaHR0cHM6Ly9nZWFudDQu d2ViLmNlcm4uY2giIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dlYW50NC53ZWIuY2Vybi5jaDwv YT4mcXVvdDspPGJyPsKgIMKgIMKgIChzeW5vcHNpcyAmcXVvdDtNb250ZSBDYXJsbyBwYXJ0aWNs ZSB0cmFjayBzaW11bGF0aW9ucyZxdW90Oyk8YnI+wqAgwqAgwqAgKGRlc2NyaXB0aW9uPGJyPsKg IMKgIMKgIMKgJnF1b3Q7R2VhbnQ0IGlzIGEgdG9vbGtpdCBmb3IgdGhlIHNpbXVsYXRpb24gb2Yg dGhlIHBhc3NhZ2Ugb2YgcGFydGljbGVzPGJyPsKgIHRocm91Z2ggbWF0dGVyLsKgIEl0cyBhcmVh cyBvZiBhcHBsaWNhdGlvbiBpbmNsdWRlIGhpZ2ggZW5lcmd5LDxicj7CoCBudWNsZWFyIGFuZCBh Y2NlbGVyYXRvciBwaHlzaWNzLCBhcyB3ZWxsIGFzIHN0dWRpZXM8YnI+wqAgaW4gbWVkaWNhbCBh bmQgc3BhY2Ugc2NpZW5jZS48YnI+PGJyPsKgIFRoaXMgcGFja2FnZSBzdXBwb3J0cyB2aXN1YWxp c2F0aW9uIHdpdGggT3BlbkdMIGFuZCBRdC4mcXVvdDspPGJyPsKgIMKgIMKgIChsaWNlbnNlIChs aWNlbnNlOm5vbi1jb3B5bGVmdDxicj7CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAmcXVvdDs8YSBo cmVmPSJodHRwczovL2dlYW50NC53ZWIuY2Vybi5jaC9kb3dubG9hZC9saWNlbnNlIiB0YXJnZXQ9 Il9ibGFuayI+aHR0cHM6Ly9nZWFudDQud2ViLmNlcm4uY2gvZG93bmxvYWQvbGljZW5zZTwvYT4m cXVvdDspKSkpPGJyPjxicj4jK2VuZF9zcmM8YnI+PGJyPlN0ZXBzIHRvIHJlcHJvZHVjZSB0aGUg Y21ha2Ugd2FybmluZyBnaXZlbiBhYm92ZTo8YnI+PGJyPiMrYmVnaW5fc3JjIHNoPGJyPjxicj7C oCBnaXQgY2xvbmUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2pha2Vmb3JzdGVyL2d1aXgt Y2hhbm5lbC5naXQiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vamFrZWZvcnN0 ZXIvZ3VpeC1jaGFubmVsLmdpdDwvYT48YnI+wqAgZ3VpeCBzaGVsbCAtTCAuL2d1aXgtY2hhbm5l bCBnZWFudDQtdmlzIGNtYWtlIG1ha2UgZ2NjLXRvb2xjaGFpbiBtZXNhPGJyPjxicj7CoCAjIGNv cHkgYW4gZXhhbXBsZSBhcHA8YnI+wqAgSU5TVEFMTF9ESVI9JChndWl4IGJ1aWxkIGdlYW50NC12 aXMpPGJyPsKgIGNwIC1yZiAkSU5TVEFMTF9ESVIvc2hhcmUvR2VhbnQ0L2V4YW1wbGVzL2Jhc2lj L0IxIC48YnI+PGJyPsKgICMgdGhlIHN0b3JlIGlzIHJlYWQgb25seTxicj7CoCBjaG1vZCAtUiA3 NTEgQjEvPGJyPjxicj7CoCBta2RpciBCMS9idWlsZDxicj7CoCBjZCBCMS9idWlsZDxicj7CoCBj bWFrZSAuLjxicj48YnI+IytlbmRfc3JjPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBo YXZlIGFsc28gcmVwcm9kdWNlZCB0aGUgd2FybmluZyB1c2luZyBhIGd1aXggc2hlbGwgLUMgLS1w dXJlLiBUaGVyZSYjMzk7cyBqdXN0IHNvbWUgZXh0cmEgaGFzc2xlIHdpdGggbWFraW5nIHRoZSBi dWlsZCBkaXIgZmlyc3QgYW5kIHNoYXJpbmcgdGhlIEIxIGRpcmVjdG9yeSBjb250YWluaW5nIHRo ZSBDTWFrZUxpc3RzLnR4dCBmaWxlLjxicj48L2Rpdj48ZGl2Pjxicj5JZiB5b3UgdXNlIHlvdXIg cHJvZmlsZSBpbnN0ZWFkIG9mIGEgc2hlbGwsIHlvdSBjYW4gY29uZmlybSB0aGUgbGliRUdMLnNv LjEgYW5kIGxpYkdMLnNvLjEgbGlicmFyaWVzIGluIH4vLmd1aXgtcHJvZmlsZS9saWIvIHBvaW50 IHRvIHRoZSBzYW1lIG1lc2EgaW4gL2dudS9zdG9yZS8gdGhhdCBpcyBpbnN0YWxsZWQgd2l0aCB0 aGUgZm9sbG93aW5nOjxicj48YnI+IytiZWdpbl9zcmMgc2g8YnI+PGJyPsKgICQgZ3VpeCBwYWNr YWdlIC1JIHwgZ3JlcCBtZXNhPGJyPsKgIG1lc2EgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAJMjMu My4yIMKgIMKgIMKgIMKgIMKgCW91dAkvZ251L3N0b3JlL2NsbmsxYXJia2M2djIxYTkzZ3huaXJ2 c2JqYXo1djA3LW1lc2EtMjMuMy4yPGJyPjxicj7CoCAkIGxzIC1sIH4vLmd1aXgtcHJvZmlsZS9s aWIvIHwgZ3JlcCBsaWJFR0wuc28uMTxicj7CoCBscnd4cnd4cnd4IDEgcm9vdCByb290IMKgIDcx IEphbiDCoDEgwqAxOTcwIGxpYkVHTC5zby4xIC0mZ3Q7IC9nbnUvc3RvcmUvY2xuazFhcmJrYzZ2 MjFhOTNneG5pcnZzYmphejV2MDctbWVzYS0yMy4zLjIvbGliL2xpYkVHTC5zby4xPGJyPjxicj7C oCAkIGxzIC1sIH4vLmd1aXgtcHJvZmlsZS9saWIvIHwgZ3JlcCBsaWJHTC5zby4xPGJyPsKgIGxy d3hyd3hyd3ggMSByb290IHJvb3QgwqAgNzAgSmFuIMKgMSDCoDE5NzAgbGliR0wuc28uMSAtJmd0 OyAvZ251L3N0b3JlL2NsbmsxYXJia2M2djIxYTkzZ3huaXJ2c2JqYXo1djA3LW1lc2EtMjMuMy4y L2xpYi9saWJHTC5zby4xPGJyPjxicj4jK2VuZF9zcmM8YnI+PGJyPlNvIEkmIzM5O20gZ3Vlc3Np bmcgZHVyaW5nIHRoZSBpbnN0YWxsYXRpb24gb2YgZ2VhbnQ0LXZpcywgc29tZXRoaW5nIGlzIGJy aW5naW5nIGluIGEgZGlmZmVyZW50IG1lc2EgZnJvbSB0aGUgc3RvcmUgKC9nbnUvc3RvcmUvMnJ6 ZGx3YjBmN2tzajdhNzhram43YTdxczIyYXZpOGwtbWVzYS0yMy4zLjIpIGludG8gdGhlIHBhdGgg YXMgYSBydW50aW1lIGRlcGVuZGVuY3kuPGJyPkkgbm90ZSB0aGF0IHF0YmFzZS01IGhhcyBtZXNh IGFzIGEgcHJvcGFnYXRlZCBpbnB1dCwgc28gcGVyaGFwcyBpdCYjMzk7cyB0aGF0Ljxicj5CdXQg aXQmIzM5O3Mgbm90IGNsZWFyIHRvIG1lIHdoeSB0aGUgbWVzYSBwcm9wYWdhdGVkIGZvciBxdGJh c2UtNSB3b3VsZCBiZSBkaWZmZXJlbnQgKGkuZS4gaGFzIGEgZGlmZmVyZW50IC9nbnUvc3RvcmUv IGVudHJ5KSBmcm9tIHRoZSBtZXNhIHRoYXQgSSBpbnN0YWxsIGluIG15IHByb2ZpbGUgb3Igc2hl bGwuPGJyPjwvZGl2PjxkaXY+QW55IHN1Z2dlc3Rpb25zIGZvciBob3cgdG8gcmVzb2x2ZSB0aGlz IHdvdWxkIGJlIG11Y2ggYXBwcmVjaWF0ZWQuPGJyPjxicj5UaGFua3MhPGJyPjxicj5KYWtlPGJy PjwvZGl2PjwvZGl2Pg0KPC9ibG9ja3F1b3RlPjwvZGl2Pg0KPC9ibG9ja3F1b3RlPjwvZGl2Pg0K --00000000000035f87d06144a5867--