Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 85B25200B7E for ; Tue, 23 Aug 2016 04:49:26 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 84570160ABC; Tue, 23 Aug 2016 02:49:26 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 31850160AB3 for ; Tue, 23 Aug 2016 04:49:25 +0200 (CEST) Received: (qmail 58238 invoked by uid 500); 23 Aug 2016 02:49:24 -0000 Mailing-List: contact user-help@mesos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@mesos.apache.org Delivered-To: mailing list user@mesos.apache.org Received: (qmail 58228 invoked by uid 99); 23 Aug 2016 02:49:24 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Aug 2016 02:49:24 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 969931A54C6 for ; Tue, 23 Aug 2016 02:49:23 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.43 X-Spam-Level: * X-Spam-Status: No, score=1.43 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, WEIRD_PORT=0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id ndBlJb1LrlNS for ; Tue, 23 Aug 2016 02:49:21 +0000 (UTC) Received: from mail-lf0-f46.google.com (mail-lf0-f46.google.com [209.85.215.46]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id D375A5F30C for ; Tue, 23 Aug 2016 02:49:20 +0000 (UTC) Received: by mail-lf0-f46.google.com with SMTP id g62so91121130lfe.3 for ; Mon, 22 Aug 2016 19:49:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7F9cyPsaBXpj/gNEPrJtxpnELfNobxwQQWR3dFgGlso=; b=Q24wk/mseQQkQax8zdUrtPK7XcXJHP++NN5IG7LcWZ/acfVnGNUpCVb6JPySLeckKz Hz6GC9zniJc/crJ7u4jMZsFxngZt7fT1mx+t44lRpIKjf3OVyJ2VFFie74VB+HRwZzUB s8cOjfdFxSqBL3Qw4rygzzEVvvf7x2Gx/15bOxhJfAeXtHkJ6XS7nc/TmqWp6EMMTLwy S+XI4AKUvDuVjGuCGiaqou/Ri9hql6sJOzghcmg2qnZxcBriQdWm/nXjfJLV7Zv3GGM8 VHrW91eb8NabcRdHsZbF4/UU42UwoNTA5FvBe77nzycaogRkywOxpV82w3PbE8QpyJ41 3rXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7F9cyPsaBXpj/gNEPrJtxpnELfNobxwQQWR3dFgGlso=; b=KchNHeC94ucJKMvZP6s4KIlSwAHsuDx/sC3oJggi3bA9ucxXKqVDp4IYoxJx+93uIn iVq9til7Kj4TMjUGdbkX+hx6YO6t0c3gqJ3JZLE3BMWVY6w07ut1Gmiyu3TTH4l8Vhp9 bJWcljWWfD82RtNXt03bqIPDbvsBgukuykARYKGNlj1G3cfP/soITxm2xrV78RmX+3Eg ul1Ni/jKCXIkXqAvMjhjaIXFvLhNeWFPxtLedI0zKteb1fayDOWOrkCZd1gS6J9/6Yoc NVYclbGcvIKds0382FDQTp1sLZa3JX4zCIdgyZUHN73RYmGyTKmspwSqGNYxM7wyZhqB 16aA== X-Gm-Message-State: AEkoouuBSV703Nu6zDlWmrIYkKA4v1HZeGrekc1PEIltHe+uA56tI+y1mORbQO2a1EvkDoRbzUTWXkCKiMPtfA== X-Received: by 10.25.32.136 with SMTP id g130mr7262468lfg.184.1471920560199; Mon, 22 Aug 2016 19:49:20 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.155.208 with HTTP; Mon, 22 Aug 2016 19:49:19 -0700 (PDT) In-Reply-To: References: <1D95DE5F-64C3-4C80-842E-4165145E40B0@gmail.com> From: Guangya Liu Date: Tue, 23 Aug 2016 10:49:19 +0800 Message-ID: Subject: Re: Does Mesos 1.0 support GPU ? To: user@mesos.apache.org Cc: jhchenj@tsmc.com, seven_hsieh@tsmc.com Content-Type: multipart/alternative; boundary=001a1140244a20de97053ab43605 archived-at: Tue, 23 Aug 2016 02:49:26 -0000 --001a1140244a20de97053ab43605 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Just FYI, the current GPU support only support Mesos Containerizer but not Docker Containerizer. There is a patch chain for Docker Containerizer GPU support here: https://reviews.apache.org/r/50123/ Thanks, Guangya On Tue, Aug 23, 2016 at 9:41 AM, David Greenberg wrote: > I've run the GPU support with the compiled packages from mesosphere. > Here's a little demo repo that will set things up on an NVIDIA node on AW= S: > https://github.com/dgrnbrg/mesos-gpu-docker > > Thanks to Kevin Klues for pointing me in the right direction! > > On Mon, Aug 22, 2016 at 8:17 PM wrote: > >> Hi , yes, it seems that NV GPU already supported by Mesos 1.0. I am not >> sure is there any difference between install Mesos 1.0 from RPM and buil= d >> from source code . Should we build from source code when we need NV GPU >> support feature in Mesos 1.0 ? >> >> Warm regards, >> >> Jef Chiu =E9=82=B1=E5=BE=81=E8=BC=9D >> TCCD/ICSD/IT >> Taiwan Semiconductor Manufacturing Company >> >> >> >> |-------------------------------------> >> | Sam | >> | | >> | | >> | | >> | | >> | 2016/08/23 =E4=B8=8A=E5=8D=88 08:51 | >> | | >> | | >> | | >> | Please respond to | >> | user@mesos.apache.org | >> | | >> |-------------------------------------> >> >----------------------------------------------------------- >> --------------------------------------------------------------------| >> | >> | >> | >> | >> | >> To| >> | user@mesos.apache.org >> | >> | >> cc| >> | jhchenj@tsmc.com, seven_hsieh@tsmc.com >> | >> | >> Subject| >> | Re: Does Mesos 1.0 support GPU ? >> | >> | >> | >> | >> | >> | >> | >> | >> | >> | >> | >> >----------------------------------------------------------- >> --------------------------------------------------------------------| >> >> >> >> >> Jef, >> I think so. Please check release note >> http://finance.yahoo.com/news/apache-software-foundation- >> announces-apache-100000615.html?from=3Dtimeline&isappinstalled=3D0 >> >> Regards, >> Sam >> >> Sent from my iPhone >> >> On Aug 23, 2016, at 8:42 AM, jef_chiu@tsmc.com wrote: >> >> >> Hi , how could I found GPU resource in Mesos 1.0 ? it seems that t= he >> Mesos >> 1.0 already support GPU . But when I follow the >> https://open.mesosphere.com/getting-started/install/ and install >> those >> RPMs in our servers. It seems that it just found CPU/Memory/Disk >> resource. >> But GPU can';t be found by Mesos 1.0 master. >> >> The following is logs when I startup Mesos 1.0 agent (GPU installe= d) >> with >> command "systemctl start mesos-slave . I can see the it found GPU >> in >> agent >> log . But Mesos master can't display GPU . >> >> Log when start up mesos agent by "systemctl start mesos-slave " >> ..... >> I0818 08:58:51.993185 103239 slave.cpp:519] Agent resources: gpus >> (*):[0-1]; >> cpus(*):48; mem(*):772718; disk(*):145941; ports(*):[31000-32000] >> I0818 08:58:51.993273 103239 slave.cpp:527] Agent attributes: [ ] >> ..... >> >> Log when start by command : mesos-agent --master=3D10.101.1.22:50= 50 >> --work_dir=3D/var/lib/mesos --resources=3Dgpus:2 >> WARNING: Logging before InitGoogleLogging() is written to STDERR >> I0823 08:30:57.292623 136165 main.cpp:243] Build: 2016-07-27 >> 20:21:03 >> by >> centos >> I0823 08:30:57.292881 136165 main.cpp:244] Version: 1.0.0 >> I0823 08:30:57.292901 136165 main.cpp:247] Git tag: 1.0.0 >> I0823 08:30:57.292914 136165 main.cpp:251] Git SHA: >> c9b70582e9fccab8f6863b0bd3a812b5969a8c24 >> I0823 08:30:57.303582 136165 systemd.cpp:237] systemd version `219= ` >> detected >> I0823 08:30:57.303639 136165 main.cpp:342] Inializing systemd stat= e >> I0823 08:30:57.326640 136165 systemd.cpp:325] Started systemd slic= e >> `mesos_executors.slice` >> Failed to create a containerizer: Failed to >> NvidiaGpuAllocator::create: >> Failed to nvml::deviceGetHandleByIndex: NVML has not been >> initialized >> >> >> I am sure that GPU function work normal on that host. BTW, when= I >> using >> Mesos 0.28 (package build from source code) agent and connect wit= h >> Mesos >> 1.0 master. Mesos master could report GPU status but can't dispat= ch >> job on >> those nodes. >> >> Please advise what could I do to manage GPU resource in Mesos 1.0= ? >> Thank >> you . >> >> >> Warm regards, >> >> Jef Chiu =E9=82=B1=E5=BE=81=E8=BC=9D >> TCCD/ICSD/IT >> Taiwan Semiconductor Manufacturing Company >> >> ------------------------------------------------------------ >> --------------- >> >> TSMC >> PROPERTY >> >> This email communication (and any attachments) is proprietary >> information >> for the sole use of its >> >> intended recipient. Any unauthorized review, use or distribution b= y >> anyone >> other than the intended >> >> recipient is strictly prohibited. If you are not the intended >> recipient, >> please notify the sender by >> >> replying to this email, and then delete this email and any copies = of >> it >> immediately. Thank you. >> >> ------------------------------------------------------------ >> --------------- >> >> >> >> >> ----------------------------------------------------------- >> ---------------- >> TSMC PROPERTY >> This email communication (and any attachments) is proprietary informati= on >> for the sole use of its >> intended recipient. Any unauthorized review, use or distribution by >> anyone >> other than the intended >> recipient is strictly prohibited. If you are not the intended recipien= t, >> please notify the sender by >> replying to this email, and then delete this email and any copies of it >> immediately. Thank you. >> ----------------------------------------------------------- >> ---------------- >> >> --001a1140244a20de97053ab43605 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+SnVzdCBGWUksIHRoZSBjdXJyZW50IEdQVSBzdXBwb3J0IG9ubHkgc3Vw cG9ydCBNZXNvcyBDb250YWluZXJpemVyIGJ1dCBub3QgRG9ja2VyIENvbnRhaW5lcml6ZXIuIFRo ZXJlIGlzIMKgYSBwYXRjaCBjaGFpbiBmb3IgRG9ja2VyIENvbnRhaW5lcml6ZXIgR1BVIHN1cHBv cnQgaGVyZTrCoDxhIGhyZWY9Imh0dHBzOi8vcmV2aWV3cy5hcGFjaGUub3JnL3IvNTAxMjMvIj5o dHRwczovL3Jldmlld3MuYXBhY2hlLm9yZy9yLzUwMTIzLzwvYT48ZGl2Pjxicj48L2Rpdj48ZGl2 PlRoYW5rcyw8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pkd1YW5neWE8L2Rpdj48L2Rpdj48ZGl2 IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUdWUs IEF1ZyAyMywgMjAxNiBhdCA5OjQxIEFNLCBEYXZpZCBHcmVlbmJlcmcgPHNwYW4gZGlyPSJsdHIi PiZsdDs8YSBocmVmPSJtYWlsdG86ZHNnMTIzNDU2Nzg5QGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxh bmsiPmRzZzEyMzQ1Njc4OUBnbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9j a3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRl ci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiPkkm IzM5O3ZlIHJ1biB0aGUgR1BVIHN1cHBvcnQgd2l0aCB0aGUgY29tcGlsZWQgcGFja2FnZXMgZnJv bSBtZXNvc3BoZXJlLiBIZXJlJiMzOTtzIGEgbGl0dGxlIGRlbW8gcmVwbyB0aGF0IHdpbGwgc2V0 IHRoaW5ncyB1cCBvbiBhbiBOVklESUEgbm9kZSBvbiBBV1M6wqA8YSBocmVmPSJodHRwczovL2dp dGh1Yi5jb20vZGdybmJyZy9tZXNvcy1ncHUtZG9ja2VyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6 Ly9naXRodWIuY29tLzx3YnI+ZGdybmJyZy9tZXNvcy1ncHUtZG9ja2VyPC9hPsKgPGRpdj48YnI+ PC9kaXY+PGRpdj5UaGFua3MgdG8gS2V2aW4gS2x1ZXMgZm9yIHBvaW50aW5nIG1lIGluIHRoZSBy aWdodCBkaXJlY3Rpb24hPC9kaXY+PGRpdj48ZGl2IGNsYXNzPSJoNSI+PGRpdj48YnI+PGRpdiBj bGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgZGlyPSJsdHIiPk9uIE1vbiwgQXVnIDIyLCAyMDE2IGF0 IDg6MTcgUE0gJmx0OzxhIGhyZWY9Im1haWx0bzpqZWZfY2hpdUB0c21jLmNvbSIgdGFyZ2V0PSJf YmxhbmsiPmplZl9jaGl1QHRzbWMuY29tPC9hPiZndDsgd3JvdGU6PGJyPjwvZGl2PjxibG9ja3F1 b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1s ZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPkhpICwgeWVzLCBpdCBzZWVtcyB0 aGF0IE5WIEdQVSBhbHJlYWR5IHN1cHBvcnRlZCBieSBNZXNvcyAxLjAuIEkgYW0gbm90PGJyPg0K c3VyZSBpcyB0aGVyZSBhbnkgZGlmZmVyZW5jZSBiZXR3ZWVuIGluc3RhbGwgTWVzb3MgMS4wIGZy b20gUlBNIGFuZCBidWlsZDxicj4NCmZyb20gc291cmNlIGNvZGUgLiBTaG91bGQgd2UgYnVpbGQg ZnJvbSBzb3VyY2UgY29kZSB3aGVuIHdlIG5lZWQgTlYgR1BVPGJyPg0Kc3VwcG9ydCBmZWF0dXJl IGluIE1lc29zIDEuMCA/PGJyPg0KPGJyPg0KV2FybSByZWdhcmRzLDxicj4NCjxicj4NCkplZiBD aGl1IOmCseW+gei8nTxicj4NClRDQ0QvSUNTRC9JVDxicj4NClRhaXdhbiBTZW1pY29uZHVjdG9y IE1hbnVmYWN0dXJpbmcgQ29tcGFueTxicj4NCjxicj4NCjxicj4NCjxicj4NCnwtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLTx3YnI+LS0tLS0tLS0mZ3Q7PGJyPg0KfMKgIMKgIMKgIMKgIMKg IMKgIFNhbcKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+DQp8wqAgwqAgwqAg wqAgwqAgwqAgJmx0OzxhIGhyZWY9Im1haWx0bzp1c3VsdHJhcmVkQGdtYWlsLmNvbSIgdGFyZ2V0 PSJfYmxhbmsiPnVzdWx0cmFyZWRAZ21haWwuY29tPC9hPiZndDvCoCDCoHw8YnI+DQp8wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8PGJyPg0K fMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg fDxicj4NCnzCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoHw8YnI+DQp8wqAgwqAgwqAgwqAgwqAgwqAgMjAxNi8wOC8yMyDkuIrljYggMDg6NTHC oCDCoCB8PGJyPg0KfMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgfDxicj4NCnzCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoHw8YnI+DQp8wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8PGJyPg0KfMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IFBsZWFzZSByZXNwb25kIHRvwqAgwqAgfDxicj4NCnzCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YSBo cmVmPSJtYWlsdG86dXNlckBtZXNvcy5hcGFjaGUub3JnIiB0YXJnZXQ9Il9ibGFuayI+dXNlckBt ZXNvcy5hcGFjaGUub3JnPC9hPsKgIHw8YnI+DQp8wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8PGJyPg0KfC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tPHdicj4tLS0tLS0tLSZndDs8YnI+DQrCoCAmZ3Q7LS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS08d2JyPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTx3YnI+LS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPHdicj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS08d2JyPi0tLS0tLS0tfDxicj4NCsKgIHzCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHw8YnI+DQrCoCB8 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqB8PGJyPg0KwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgVG98PGJyPg0K wqAgfMKgIMKgIMKgIMKgIDxhIGhyZWY9Im1haWx0bzp1c2VyQG1lc29zLmFwYWNoZS5vcmciIHRh cmdldD0iX2JsYW5rIj51c2VyQG1lc29zLmFwYWNoZS5vcmc8L2E+wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgfDxicj4NCsKgIHzCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNjfDxicj4NCsKgIHzC oCDCoCDCoCDCoCA8YSBocmVmPSJtYWlsdG86amhjaGVuakB0c21jLmNvbSIgdGFyZ2V0PSJfYmxh bmsiPmpoY2hlbmpAdHNtYy5jb208L2E+LCA8YSBocmVmPSJtYWlsdG86c2V2ZW5faHNpZWhAdHNt Yy5jb20iIHRhcmdldD0iX2JsYW5rIj5zZXZlbl9oc2llaEB0c21jLmNvbTwvYT7CoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHw8 YnI+DQrCoCB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgU3ViamVjdHw8YnI+DQrCoCB8wqAgwqAgwqAgwqAgUmU6IERvZXMg TWVzb3MgMS4wIHN1cHBvcnTCoCBHUFUgP8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHw8YnI+DQrCoCB8wqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqB8PGJyPg0KwqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfDxicj4NCsKgIHzC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoHw8YnI+DQrCoCB8wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB8PGJyPg0K wqAgfMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfDxicj4NCsKgICZndDstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLTx3YnI+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPHdicj4tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08d2JyPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LTx3YnI+LS0tLS0tLS18PGJyPg0KPGJyPg0KPGJyPg0KPGJyPg0KPGJyPg0KSmVmLDxicj4NCkkg dGhpbmsgc28uIFBsZWFzZSBjaGVjayByZWxlYXNlIG5vdGU8YnI+DQo8YSBocmVmPSJodHRwOi8v ZmluYW5jZS55YWhvby5jb20vbmV3cy9hcGFjaGUtc29mdHdhcmUtZm91bmRhdGlvbi1hbm5vdW5j ZXMtYXBhY2hlLTEwMDAwMDYxNS5odG1sP2Zyb209dGltZWxpbmUmYW1wO2lzYXBwaW5zdGFsbGVk PTAiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9maW5hbmNlLnlhaG9v LmNvbS9uZXdzLzx3YnI+YXBhY2hlLXNvZnR3YXJlLWZvdW5kYXRpb24tPHdicj5hbm5vdW5jZXMt YXBhY2hlLTEwMDAwMDYxNS48d2JyPmh0bWw/ZnJvbT10aW1lbGluZSZhbXA7PHdicj5pc2FwcGlu c3RhbGxlZD0wPC9hPjxicj4NCjxicj4NClJlZ2FyZHMsPGJyPg0KU2FtPGJyPg0KPGJyPg0KU2Vu dCBmcm9tIG15IGlQaG9uZTxicj4NCjxicj4NCk9uIEF1ZyAyMywgMjAxNiwgYXQgODo0MiBBTSwg PGEgaHJlZj0ibWFpbHRvOmplZl9jaGl1QHRzbWMuY29tIiB0YXJnZXQ9Il9ibGFuayI+amVmX2No aXVAdHNtYy5jb208L2E+IHdyb3RlOjxicj4NCjxicj4NCjxicj4NCsKgIMKgIMKgIEhpICwgaG93 IGNvdWxkIEkgZm91bmQgR1BVIHJlc291cmNlIGluIE1lc29zIDEuMCA/IGl0IHNlZW1zIHRoYXQg dGhlPGJyPg0KwqAgwqAgwqAgTWVzb3M8YnI+DQrCoCDCoCDCoCAxLjAgYWxyZWFkeSBzdXBwb3J0 IEdQVSAuIEJ1dCB3aGVuIEkgZm9sbG93IHRoZTxicj4NCsKgIMKgIMKgIDxhIGhyZWY9Imh0dHBz Oi8vb3Blbi5tZXNvc3BoZXJlLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvaW5zdGFsbC8iIHJlbD0ibm9y ZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vb3Blbi5tZXNvc3BoZXJlLmNvbS88d2Jy PmdldHRpbmctc3RhcnRlZC9pbnN0YWxsLzwvYT7CoCBhbmQgaW5zdGFsbDxicj4NCsKgIMKgIMKg IHRob3NlPGJyPg0KwqAgwqAgwqAgUlBNcyBpbiBvdXIgc2VydmVycy4gSXQgc2VlbXMgdGhhdCBp dCBqdXN0IGZvdW5kIENQVS9NZW1vcnkvRGlzazxicj4NCsKgIMKgIMKgIHJlc291cmNlLjxicj4N CsKgIMKgIMKgIEJ1dMKgIEdQVSBjYW4mIzM5Ozt0IGJlIGZvdW5kIGJ5IE1lc29zIDEuMCBtYXN0 ZXIuPGJyPg0KPGJyPg0KwqAgwqAgwqAgVGhlIGZvbGxvd2luZyBpcyBsb2dzIHdoZW4gSSBzdGFy dHVwIE1lc29zIDEuMCBhZ2VudCAoR1BVIGluc3RhbGxlZCk8YnI+DQrCoCDCoCDCoCB3aXRoPGJy Pg0KwqAgwqAgwqAgY29tbWFuZCAmcXVvdDtzeXN0ZW1jdGwgc3RhcnQgbWVzb3Mtc2xhdmUgLsKg IEkgY2FuIHNlZSB0aGUgaXQgZm91bmQgR1BVIGluPGJyPg0KwqAgwqAgwqAgYWdlbnQ8YnI+DQrC oCDCoCDCoCBsb2cgLiBCdXQgTWVzb3MgbWFzdGVywqAgY2FuJiMzOTt0IGRpc3BsYXkgR1BVIC48 YnI+DQo8YnI+DQrCoCDCoCDCoCBMb2cgd2hlbiBzdGFydCB1cCBtZXNvcyBhZ2VudMKgIGJ5ICZx dW90O3N5c3RlbWN0bCBzdGFydCBtZXNvcy1zbGF2ZSAmcXVvdDs8YnI+DQrCoCDCoCDCoCAuLi4u Ljxicj4NCsKgIMKgIMKgIEkwODE4IDA4OjU4OjUxLjk5MzE4NSAxMDMyMzkgc2xhdmUuY3BwOjUx OV0gQWdlbnQgcmVzb3VyY2VzOiBncHVzPGJyPg0KwqAgwqAgwqAgKCopOlswLTFdOzxicj4NCsKg IMKgIMKgIGNwdXMoKik6NDg7IG1lbSgqKTo3NzI3MTg7IGRpc2soKik6MTQ1OTQxOyBwb3J0cygq KTpbMzEwMDAtMzIwMDBdPGJyPg0KwqAgwqAgwqAgSTA4MTggMDg6NTg6NTEuOTkzMjczIDEwMzIz OSBzbGF2ZS5jcHA6NTI3XSBBZ2VudCBhdHRyaWJ1dGVzOiBbwqAgXTxicj4NCsKgIMKgIMKgIC4u Li4uPGJyPg0KPGJyPg0KwqAgwqAgwqAgTG9nIHdoZW4gc3RhcnQgYnkgY29tbWFuZCA6wqAgbWVz b3MtYWdlbnQgLS1tYXN0ZXI9PGEgaHJlZj0iaHR0cDovLzEwLjEwMS4xLjIyOjUwNTAiIHJlbD0i bm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEwLjEwMS4xLjIyOjUwNTA8L2E+PGJyPg0KwqAg wqAgwqAgLS13b3JrX2Rpcj0vdmFyL2xpYi9tZXNvc8KgIC0tcmVzb3VyY2VzPWdwdXM6Mjxicj4N CsKgIMKgIMKgIFdBUk5JTkc6IExvZ2dpbmcgYmVmb3JlIEluaXRHb29nbGVMb2dnaW5nKCkgaXMg d3JpdHRlbiB0byBTVERFUlI8YnI+DQrCoCDCoCDCoCBJMDgyMyAwODozMDo1Ny4yOTI2MjMgMTM2 MTY1IG1haW4uY3BwOjI0M10gQnVpbGQ6IDIwMTYtMDctMjcgMjA6MjE6MDM8YnI+DQrCoCDCoCDC oCBieTxicj4NCsKgIMKgIMKgIGNlbnRvczxicj4NCsKgIMKgIMKgIEkwODIzIDA4OjMwOjU3LjI5 Mjg4MSAxMzYxNjUgbWFpbi5jcHA6MjQ0XSBWZXJzaW9uOiAxLjAuMDxicj4NCsKgIMKgIMKgIEkw ODIzIDA4OjMwOjU3LjI5MjkwMSAxMzYxNjUgbWFpbi5jcHA6MjQ3XSBHaXQgdGFnOiAxLjAuMDxi cj4NCsKgIMKgIMKgIEkwODIzIDA4OjMwOjU3LjI5MjkxNCAxMzYxNjUgbWFpbi5jcHA6MjUxXSBH aXQgU0hBOjxicj4NCsKgIMKgIMKgIGM5YjcwNTgyZTlmY2NhYjhmNjg2M2IwYmQzYTgxMjx3YnI+ YjU5NjlhOGMyNDxicj4NCsKgIMKgIMKgIEkwODIzIDA4OjMwOjU3LjMwMzU4MiAxMzYxNjUgc3lz dGVtZC5jcHA6MjM3XSBzeXN0ZW1kIHZlcnNpb24gYDIxOWA8YnI+DQrCoCDCoCDCoCBkZXRlY3Rl ZDxicj4NCsKgIMKgIMKgIEkwODIzIDA4OjMwOjU3LjMwMzYzOSAxMzYxNjUgbWFpbi5jcHA6MzQy XSBJbmlhbGl6aW5nIHN5c3RlbWQgc3RhdGU8YnI+DQrCoCDCoCDCoCBJMDgyMyAwODozMDo1Ny4z MjY2NDAgMTM2MTY1IHN5c3RlbWQuY3BwOjMyNV0gU3RhcnRlZCBzeXN0ZW1kIHNsaWNlPGJyPg0K wqAgwqAgwqAgYG1lc29zX2V4ZWN1dG9ycy5zbGljZWA8YnI+DQrCoCDCoCDCoCBGYWlsZWQgdG8g Y3JlYXRlIGEgY29udGFpbmVyaXplcjogRmFpbGVkIHRvPGJyPg0KwqAgwqAgwqAgTnZpZGlhR3B1 QWxsb2NhdG9yOjpjcmVhdGU6PGJyPg0KwqAgwqAgwqAgRmFpbGVkIHRvIG52bWw6OmRldmljZUdl dEhhbmRsZUJ5SW5kZXg6IE5WTUwgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkPGJyPg0KPGJyPg0K PGJyPg0KwqAgwqAgwqAgSSBhbSBzdXJlIHRoYXTCoCBHUFUgZnVuY3Rpb27CoCB3b3JrIG5vcm1h bCBvbiB0aGF0IGhvc3QuwqAgQlRXLCB3aGVuIEk8YnI+DQrCoCDCoCDCoCB1c2luZzxicj4NCsKg IMKgIMKgIE1lc29zIDAuMjggKHBhY2thZ2UgYnVpbGQgZnJvbSBzb3VyY2UgY29kZSnCoCBhZ2Vu dCBhbmQgY29ubmVjdCB3aXRoPGJyPg0KwqAgwqAgwqAgTWVzb3M8YnI+DQrCoCDCoCDCoCAxLjAg bWFzdGVyLiBNZXNvcyBtYXN0ZXLCoCBjb3VsZCByZXBvcnQgR1BVIHN0YXR1cyBidXQgY2FuJiMz OTt0IGRpc3BhdGNoPGJyPg0KwqAgwqAgwqAgam9iIG9uPGJyPg0KwqAgwqAgwqAgdGhvc2Ugbm9k ZXMuPGJyPg0KPGJyPg0KwqAgwqAgwqAgUGxlYXNlIGFkdmlzZSB3aGF0IGNvdWxkIEkgZG8gdG/C oCBtYW5hZ2UgR1BVIHJlc291cmNlIGluIE1lc29zIDEuMCA/PGJyPg0KwqAgwqAgwqAgVGhhbms8 YnI+DQrCoCDCoCDCoCB5b3UgLjxicj4NCjxicj4NCjxicj4NCsKgIMKgIMKgIFdhcm0gcmVnYXJk cyw8YnI+DQo8YnI+DQrCoCDCoCDCoCBKZWYgQ2hpdSDpgrHlvoHovJ08YnI+DQrCoCDCoCDCoCBU Q0NEL0lDU0QvSVQ8YnI+DQrCoCDCoCDCoCBUYWl3YW4gU2VtaWNvbmR1Y3RvciBNYW51ZmFjdHVy aW5nIENvbXBhbnk8YnI+DQo8YnI+DQrCoCDCoCDCoCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS08d2JyPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTx3YnI+LS0tLS0tLS0tLS0t LS0tPGJyPg0KPGJyPg0KwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgVFNNQyBQ Uk9QRVJUWTxicj4NCjxicj4NCsKgIMKgIMKgIFRoaXMgZW1haWwgY29tbXVuaWNhdGlvbiAoYW5k IGFueSBhdHRhY2htZW50cykgaXMgcHJvcHJpZXRhcnk8YnI+DQrCoCDCoCDCoCBpbmZvcm1hdGlv bjxicj4NCsKgIMKgIMKgIGZvciB0aGUgc29sZSB1c2Ugb2YgaXRzPGJyPg0KPGJyPg0KwqAgwqAg wqAgaW50ZW5kZWQgcmVjaXBpZW50LiBBbnkgdW5hdXRob3JpemVkIHJldmlldywgdXNlIG9yIGRp c3RyaWJ1dGlvbiBieTxicj4NCsKgIMKgIMKgIGFueW9uZTxicj4NCsKgIMKgIMKgIG90aGVyIHRo YW4gdGhlIGludGVuZGVkPGJyPg0KPGJyPg0KwqAgwqAgwqAgcmVjaXBpZW50IGlzIHN0cmljdGx5 IHByb2hpYml0ZWQuwqAgSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkPGJyPg0KwqAgwqAgwqAg cmVjaXBpZW50LDxicj4NCsKgIMKgIMKgIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieTxicj4N Cjxicj4NCsKgIMKgIMKgIHJlcGx5aW5nIHRvIHRoaXMgZW1haWwsIGFuZCB0aGVuIGRlbGV0ZSB0 aGlzIGVtYWlsIGFuZCBhbnkgY29waWVzIG9mPGJyPg0KwqAgwqAgwqAgaXQ8YnI+DQrCoCDCoCDC oCBpbW1lZGlhdGVseS4gVGhhbmsgeW91Ljxicj4NCjxicj4NCsKgIMKgIMKgIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLTx3YnI+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPHdi cj4tLS0tLS0tLS0tLS0tLS08YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQrCoC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tPHdicj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08 d2JyPi0tLS0tLS0tLS0tLS0tLS08YnI+DQrCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoFRT TUMgUFJPUEVSVFk8YnI+DQrCoFRoaXMgZW1haWwgY29tbXVuaWNhdGlvbiAoYW5kIGFueSBhdHRh Y2htZW50cykgaXMgcHJvcHJpZXRhcnkgaW5mb3JtYXRpb248YnI+DQrCoGZvciB0aGUgc29sZSB1 c2Ugb2YgaXRzPGJyPg0KwqBpbnRlbmRlZCByZWNpcGllbnQuIEFueSB1bmF1dGhvcml6ZWQgcmV2 aWV3LCB1c2Ugb3IgZGlzdHJpYnV0aW9uIGJ5IGFueW9uZTxicj4NCsKgb3RoZXIgdGhhbiB0aGUg aW50ZW5kZWQ8YnI+DQrCoHJlY2lwaWVudCBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLsKgIElmIHlv dSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsPGJyPg0KwqBwbGVhc2Ugbm90aWZ5IHRo ZSBzZW5kZXIgYnk8YnI+DQrCoHJlcGx5aW5nIHRvIHRoaXMgZW1haWwsIGFuZCB0aGVuIGRlbGV0 ZSB0aGlzIGVtYWlsIGFuZCBhbnkgY29waWVzIG9mIGl0PGJyPg0KwqBpbW1lZGlhdGVseS4gVGhh bmsgeW91Ljxicj4NCsKgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08d2JyPi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLTx3YnI+LS0tLS0tLS0tLS0tLS0tLTxicj4NCjxicj4NCjwv YmxvY2txdW90ZT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4NCjwvYmxvY2txdW90ZT48 L2Rpdj48YnI+PC9kaXY+DQo= --001a1140244a20de97053ab43605--