From user-return-40164-apmail-cassandra-user-archive=cassandra.apache.org@cassandra.apache.org Mon Apr 14 19:04:39 2014 Return-Path: X-Original-To: apmail-cassandra-user-archive@www.apache.org Delivered-To: apmail-cassandra-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 486EE11410 for ; Mon, 14 Apr 2014 19:04:39 +0000 (UTC) Received: (qmail 90689 invoked by uid 500); 14 Apr 2014 19:04:34 -0000 Delivered-To: apmail-cassandra-user-archive@cassandra.apache.org Received: (qmail 90653 invoked by uid 500); 14 Apr 2014 19:04:34 -0000 Mailing-List: contact user-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cassandra.apache.org Delivered-To: mailing list user@cassandra.apache.org Received: (qmail 90643 invoked by uid 99); 14 Apr 2014 19:04:34 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Apr 2014 19:04:34 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS X-Spam-Check-By: apache.org Received-SPF: unknown (nike.apache.org: error in processing during lookup of Donald.Smith@audiencescience.com) Received: from [207.46.163.189] (HELO na01-bn1-obe.outbound.protection.outlook.com) (207.46.163.189) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Apr 2014 19:04:28 +0000 Received: from BN1PR07MB069.namprd07.prod.outlook.com (10.255.224.153) by BN1PR07MB071.namprd07.prod.outlook.com (10.255.224.155) with Microsoft SMTP Server (TLS) id 15.0.918.8; Mon, 14 Apr 2014 19:04:03 +0000 Received: from BN1PR07MB069.namprd07.prod.outlook.com ([169.254.4.188]) by BN1PR07MB069.namprd07.prod.outlook.com ([169.254.4.188]) with mapi id 15.00.0918.000; Mon, 14 Apr 2014 19:04:03 +0000 From: Donald Smith To: "'user@cassandra.apache.org'" Subject: Logs of commitlog files Thread-Topic: Logs of commitlog files Thread-Index: Ac9YFD3WtkqAgCqQRjWFWsjpkGTSxw== Date: Mon, 14 Apr 2014 19:04:02 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [67.138.164.67] x-forefront-prvs: 0181F4652A x-forefront-antispam-report: SFV:NSPM;SFS:(10009001)(428001)(199002)(189002)(164054003)(33646001)(46102001)(20776003)(79102001)(92566001)(4396001)(15975445006)(19609705001)(74316001)(18206015023)(80022001)(66066001)(17760045001)(15202345003)(19300405004)(76576001)(76482001)(86362001)(77982001)(99396002)(87936001)(2656002)(85852003)(83072002)(99286001)(54356999)(81342001)(50986999)(81542001)(83322001)(19580405001)(80976001)(19580395003)(31966008)(74502001)(74662001)(16236675002)(24736002)(491001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN1PR07MB071;H:BN1PR07MB069.namprd07.prod.outlook.com;FPR:BC0BFEA7.AF2623D5.D3FF3982.48F43151.202FB;MLV:sfv;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (: audiencescience.com does not designate permitted sender hosts) Content-Type: multipart/related; boundary="_004_a1131b87bec949d695a8417b586ce806BN1PR07MB069namprd07pro_"; type="multipart/alternative" MIME-Version: 1.0 X-OriginatorOrg: audiencescience.com X-Virus-Checked: Checked by ClamAV on apache.org --_004_a1131b87bec949d695a8417b586ce806BN1PR07MB069namprd07pro_ Content-Type: multipart/alternative; boundary="_000_a1131b87bec949d695a8417b586ce806BN1PR07MB069namprd07pro_" --_000_a1131b87bec949d695a8417b586ce806BN1PR07MB069namprd07pro_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 1. With cassandra 2.0.6, we have 547G of files in /var/lib/commitlog/. I s= tarted a "nodetool flush" 65 minutes ago; it's still running. The 17536 co= mmitlog files have been created in the last 3 days. (The node has 2.1T of = sstables data in /var/lib/cassandra/data/. This is in staging, not prod.) = Why so many commit logs? Here are our commitlog-related settings in cassan= dra.yaml: commitlog_sync: periodic commitlog_sync_period_in_ms: 10000 # The size of the individual commitlog file segments. A commitlog # archiving commitlog segments (see commitlog_archiving.properties), commitlog_segment_size_in_mb: 32 # Total space to use for commitlogs. Since commitlog segments are # segment and remove it. So a small total commitlog space will tend # commitlog_total_space_in_mb: 4096 Maybe we should set commitlog_total_space_in_mb to something other than the= default. According to OpsCenter, commitlog_total_space_in_mb is "None". = But it seems odd that there'd be so many commit logs. The node is under heavy write load. There are about 2900 compactions pend= ing. We are NOT archiving commitlogs, via commitlog_archiving.properties. BTW, the documentation for nodetool says: Flush Flushes memtables (in memory) to SSTables (on disk), which also enables Com= mitLog segments to be deleted. But even after doing a flush, the /var/lib/commitlog dir still has 1G of fi= les, even after waiting 30 minutes. Each file is 32M in size, plus or min= us a few bytes. I tried this on other clusters, with much smaller amounts = of data. Even restarting Cassandra doesn't help. I surmise that the 1GB of commit logs are normal: they probably allocate th= at space as a workspace. Thanks, Don Donald A. Smith | Senior Software Engineer P: 425.201.3900 x 3866 C: (206) 819-5965 F: (646) 443-2333 donalds@AudienceScience.com [AudienceScience] --_000_a1131b87bec949d695a8417b586ce806BN1PR07MB069namprd07pro_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

1. With cassandra 2.0.6, we have 547G of files in /v= ar/lib/commitlog/.  I started a “nodetool flush” 65 minute= s ago; it’s still running.  The 17536 commitlog files have been = created in the last 3 days.  (The node has 2.1T of sstables data in /var/lib/cassandra/data/.  This is in staging, not prod.) Why so m= any commit logs?  Here are our commitlog-related settings in cassandra= .yaml:

commitlog_sync: period= ic

commitlog_sync_period_= in_ms: 10000

# The size of the indi= vidual commitlog file segments.  A commitlog

# archiving commitlog = segments (see commitlog_archiving.properties),

commitlog_segment_size= _in_mb: 32

# Total space to use f= or commitlogs.  Since commitlog segments are

# segment and remove i= t.  So a small total commitlog space will tend

# commitlog_total_spac= e_in_mb: 4096

 

Maybe we should set commitlog_total_space_in_mb to s= omething other than the default. According to OpsCenter, commitlog_total_sp= ace_in_mb is “None”.    But it seems odd that th= ere’d be so many commit logs.

 

The node is under heavy write load.   Ther= e are about 2900 compactions pending.

 

We are NOT archiving commitlogs, via commitlog_archi= ving.properties.

 

BTW, the documentation for nodetool says:

Flush

Flushes memtables (in memor= y) to SSTables (on disk), which also enables CommitLog segments to be deleted.

But even after doing a flush, the /var/lib/commitlog= dir still has 1G of files, even after waiting 30  minutes.  Each= file is 32M in size, plus or minus a few bytes.  I tried this on othe= r clusters, with much smaller amounts of data.   Even restarting Cassandra doesn’t help.

 

I surmise that the 1GB of commit logs are normal: th= ey probably allocate that space as a workspace.

 

 

Thanks,  Don

 

Donald A. Smith | Senior Software Engineer
P: 425.201.3900 x 3866
C: (206) 819-5965
F: (646) 443-2333
d= onalds@AudienceScience.com


 

--_000_a1131b87bec949d695a8417b586ce806BN1PR07MB069namprd07pro_-- --_004_a1131b87bec949d695a8417b586ce806BN1PR07MB069namprd07pro_ Content-Type: image/jpeg; name="image001.jpg" Content-Description: image001.jpg Content-Disposition: inline; filename="image001.jpg"; size=9166; creation-date="Mon, 14 Apr 2014 19:04:02 GMT"; modification-date="Mon, 14 Apr 2014 19:04:02 GMT" Content-ID: Content-Transfer-Encoding: base64 /9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/4QN1aHR0cDov L25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENl aGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4 OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6 MDk6MTUgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5 OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHht bG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0i aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1w PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9 InhtcC5kaWQ6RkVBMzYwMkM0MjIwNjgxMTgyMkFBQzA1RDA3ODc2NUQiIHhtcE1NOkRvY3VtZW50 SUQ9InhtcC5kaWQ6MzFGNjRFRkIwNUQ0MTFFM0ExMTk5MzFCRDBBMDUyMDQiIHhtcE1NOkluc3Rh bmNlSUQ9InhtcC5paWQ6MzFGNjRFRkEwNUQ0MTFFM0ExMTk5MzFCRDBBMDUyMDQiIHhtcDpDcmVh dG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVk RnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmZhMDkyMjA5LTU4YTAtM2U0OC1hZWUwLTVj NDA1MDQ1OTk0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2Q0VBQUFDNkFERUUxMUUyOTRF NTlBN0Q5RDJDQUI1NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0 YT4gPD94cGFja2V0IGVuZD0iciI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJS R0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gAB AAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA EWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIY AAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQA AANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJU UkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAx OTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIu MQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA AAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAk oAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVD IGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNl IC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNl IC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2lu ZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcg Q29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAA AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAF AAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAA lQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQEr ATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoC AwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMW AyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEE fgSMBJoEqAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn BjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqB CpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYN QA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBD EGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QT xRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJ F64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib 2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBs IJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgl lyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC KzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsx EjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdg N5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+ YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpN k03cTiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC Vg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxe vV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fp aD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx 8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwh fIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteH O4efiASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6 kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCe rp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sC q3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4 WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XI xkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bU SdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb 42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/y jPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c/23////uACZBZG9i ZQBkwAAAAAEDABUEAwYKDQAAFMAAAButAAAfwgAAI8z/2wCEAAICAgICAgICAgIDAgICAwQDAgID BAUEBAQEBAUGBQUFBQUFBgYHBwgHBwYJCQoKCQkMDAwMDAwMDAwMDAwMDAwBAwMDBQQFCQYGCQ0L CQsNDw4ODg4PDwwMDAwMDw8MDAwMDAwPDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/CABEI ACMBBAMBEQACEQEDEQH/xADlAAEAAwEBAQEAAAAAAAAAAAAABQYHBAMIAgEBAQEBAQAAAAAAAAAA AAAAAAUEBgMQAAEEAgICAAcBAQAAAAAAAAUAAgMEEwYBFBUWEFBgIzUHFzA2EQABAwIDBAQJBgkN AAAAAAACAQMEABESEwUhMUEUUZEiomFxgTLSI9MGNhChsVIVNUJygrJzk7MkFjBQ0WKSwjNDYzSE tHUSAAIBBAEEAwAAAAAAAAAAAAAyAfAhgTMSUGARQVGxIhMBAAIBBAIBAgYDAQAAAAAAAQARIfAx QWFRgXEQ8SBQYJHB0TChseH/2gAMAwEAAhEDEQAAAfv0rJIksRJUieO8hDnJUshFECehynQSRlRt BiJpR4mbl6PY7ibMWNKM1LyTZxEWdhfygA5zoIUtZXSYKsaCThkRezNiqHubwQ5ihVD6SPiw1glT 6KMsM7N3O4qx7ngd52FQJclSFJk/Z2lbPInislpIoxQ0MqxfSnlPNvKcZebCVgnSpG1F2AAAAAKP o8Mv15QABKzbMnLtgADqp8900ufAAFry0bFn2gAAAAAAAAAAAAAAAD//2gAIAQEAAQUCQwtULMtX IqfwiuRTWo9ijm4pFqd98tyKG1cMx1LjTbnOsladS8qluK42Y3AyeqarWLEp2NlqAu6eYkTpCasH 7D16aV9iCOCb9ja/FLROjCVKgfokRf8ASNeQTZxx9wTZBh9FDdMTLcu1R9f+j6/kkPjGCf6Rryob ONJUPL1eoclk5r2Iow5E/wDAf+e1j8PsrOIqZD87YudPZ4C2eYlUgvnBdudssFqSkCF04qA/lrXc 1iHTMVCXbl3kReKUeNyFWV+wbLpqtIdTH1JR9EcM1P8A4XVdo8WHClvMVAVMhTG7GVrGXba3ym09 Op1tpp1aGnhtw6YqpLEeF+LrdbkY0uSs6sKsQPhIFAbT3HDRFay3kOR5H0XsunJb0MrzNmd1HYWn YXcyxS87AUH83ogdaaYXUu2w8Vcjau2YbfI4rCZinl2GbYK8Rkkc2WiX1V1/XINo2ilCNfsNsTrN C7X03Xi54EMCmSBV36+o26QYrqNwdsG2gLZJe27LjJwHbemC9iPDRwQncKQf5nSd0XB7fsC9v2Be 37Avb9gXt+wL2/YFW2g3Nx7CWXsJZewll7CWXsJZewllGeKOXmyS82SXmyS82SXmyS82SQ+5Yts+ Rf/aAAgBAgABBQL6tjbw5YWrC1YWrC1YWrC1WPtrM5ZnLM5ZnLM5ZnKv9xYWrC1YWrC1YWrC1SN4 b8j/AP/aAAgBAwABBQL6te7nhZXLK5ZXLK5ZXLK5VG8TLpxLpxLpxLpxLpxLpxK99hdqRdqRdqRd qRdqRdqRQycv+R//2gAIAQICBj8C7tvIwwwwwxHG4ooooopPKwwwwwwxaeh//9oACAEDAgY/Au7l FFFFFJ5TxNkVk2RWTZFZNkVk2RWTZFZI4fvz8evsSRJEkSRJEkvHjof/2gAIAQEBBj8Cp84ilaO5 lljS1+KEn9Uk2otRs3F+9PhHbw/WPdf5JcMMWbCy86+71iXS3VSmxpWovtIRAjwMooqoEorbtdKU bLRG1KaS7sN8CadFOnCVtnhSokQ8WbNzMm271aYlvXIpClzH0ZF8kjghIgERCl7knEaEfsbUhxLb ErI2Tx9uoWnvmrb89C5ZfwVUbbL9K32fI8TWKzD7kc8X1miwl9FORYsaTqb7C2kBFBCRtegjJRC/ gvSQ3Wn4Ewku3FlBgU0TfgVFUS8i1KiNafNlnDIRfNhtCFFIUNNuJOC0DX2TqDGNbZrrSICeNcVF MnvZLI7L71VV3IicaRs+ZioW555vsd1SWlkm6ARxHGr6r2cPTelbAZUgR/z220wd4hX5qenwn85q OKk+FrGNkvZRWn9Xjo7ysdHFNCGxerS67L15kv8AVj6VSRgo8ixUFXM0UHzr7tq9FPciZo4xbMZd TCVl4712VAZlI4p6k7lR8CX7V0TbtT61HLmvjHjt+c4VYMuZgvbPyxw/n3+anNbbe5mA2iKRtbS2 qg2sttu2vMl/qx9Kn9Rjo9kRzVshIUQlVBxbEv0Vzdjw4sOXZMV8OPpt5u3f89NadHLDK1Y+WbJN 4Ba7p/khfy2rTZbI5UGSAabLBNw2/wBsXkXs+WtF/wDVj/3vk94fFD/MKmv08v8A7LlNao32Zelv NOMOccJGgGHiIVr3d/5f7NKfXlZErHpbCWjhjVPXPb6Br7Mns41tmus4QTxreosSSOJp7TJSL0p6 1iyovBU4U5pOolinxRxNP7uZZ3I4nh4EnT4695JbX+LHlakbf4yOHaosZrcDaYj4mS7SJfCq7aEl FFUNoKvDhsr3jDkZcrFJZXFHbxon7s1v21lchMjbL5j7WAeu9RDgN8y7BezSiL+GlujjTen+8uiH AJLdl5vG2KpxsqISdVaLp7Lto2qyO26O5RTDh8navQQorAtxwHDgt53hLpvWqBBitxReaeccFtLX JQWtV/Fmfs6aifYsybhM1z2RuK3WnpHIvQMs1byn0sS7EW/z0vvTpZKT2myibmRuBMYAVfJt29fC vcufFXsOTe2HECxNXFfFXu9oT5KkEhz3Q3YlVSv8wW8tcnyzXKYcPLYUwW6MO6tSiw2Rjx2wDA2P 6Ua0+L9gTpGQyIZ4BcStxSm3nYrsMZGL1DmxwcKqPz/RXLdq2LHj2XvbDuthth2Wta1S5eoNPAxD /ddNBDcZW291zsKK9pdnkp1m0gVcGwmsqQWEuBWJxU2LtqPmBy+sQnAcFHEVBV+Me/8AFO3UtWe0 rUWpX4UVIxubfA4KZa+O9Tp81vJlak6hrHvfKbAUBsFVONkutJEkabqOc29IVcEVwk7bxklltbct RxeiHp+kx3RfcB+2dIJtbgOBFXCKLtW+1a0J0WyJpnmc1xE2DibREuvhp6ScOW+w7pzLQuR2DdTE Lrqqi4U6FpB+z9SS62usN230VCfRsskIEgCdt2UInGVRL+SmzZc5efELMgSvqH0L0iW5UqczqcRY 5zpUtZEZfqvGV7LxTbvoIGpxJMhuMmCNqcZonhcbTzcYhchK2/ZTaRtPdagjdZEuWKsquzYjba9p dvFUStdzoM1wJUhpxh1mO44JIjDYrtFOlKBlIM9tXFtjciugKeMlTZUZ7Qo7UrLO8xg/OIegd39N LpA+6UiM88Q3kv3wt2W90IgG3XUDSweTntLbb5Z9dymA4VTxLSRJ/utJmTGkw8y1iwn4VwgSdS1q h61HbZekA5yUVtO2IqC9lU2+TjWpRH4jrMpwZWCOYKhribslk8NN6d/CU6VlmZZvbDzlvuy1qSEz QpGkI0KK2byquO/BLgNS2J0RyMZyyLKeBRVRVsE3LWnvaZHdf0p2W29ltopIwuNMV7bk6FqFqekl g1bTCxMpuxpe9rrxRa5f+EZPP+bmWPKv0+bu/K8tTWdSZR7VnUH1EdMS2zBVEsPG3RUOB/B057lG hbze2OK3G2UtPOzNJe0g2zwiy9e5Ja99oj/KMuwtKd1Y3HMJtNYrilr37IlXwZM6nfY18GTOp32N fBkzqd9jXwZM6nfY18GTOp32NfBkzqd9jR5nurKYw2si5m29/wDSr4bk9/2dfDcnv+zr4bk9/wBn Xw3J7/s6+G5Pf9nXw3J7/s6XF7vyA/t+hX3E/wB/0K+4n+/6FfcT/f8AQr7if7/oV9xP9/0K+4n+ /wChThSIZw1BbCJ329aJ/Mf/2gAIAQEDAT8hj7LTs4A9to8omOVgK9/kMY+h2UkhWdevOMpYwLFC bNpDaFdAwJyNPyDuHtuQXh2rxhxMsxE9SZNkxM5RLGrXAi9hVMyL3x7DbevoPYoRWdVlxeE6rBJF /ez1EqO50hSbm9ITXiteW4niMMHuTSdHqA8WGjsZspr+dpcO9G27us9SheXYa34qqNI6n26arY4G TlSI0Y4eGAhEKpx4Rttn6DdiClpgwkHOIQ8MQstj/vEw/oWTktBhD8Dm4zsAZV4DLEsltPuxIRCD 5ESAixp+g0hAbZR0MoVquKVwT/yezdIx4RxfPmUP4KdoJngAf3Ev18fhEacnFTvhJt3VRPNePpN1 /wCvcxsqeuxAbu7UpI6RpB+WAK4ZspQdLabx+FlsJuJv70svTCHt3eDs+VKYsp0IVopXGGp8IDbi lSmeUbxzxkzB/wCDTPRpIIrbkWpf3HEhqmPwoMspZfOxh/4iWR+COFPkcl3lIAjCwNf8Njj6K/LY +7oa4nQfU2rKMbJuV35aJDfL8aFRZjeK4/zf/YzsypIwGhcY5wni1QOip/C8wnGnEZarnKryzq0c mq2tmbRcJdt0rgbJSqbGc557o4PsVFfiKcN6oODNJfmW3Q5Ql0GoWbk9MapPGb9JAaaFdlR4L2pP NQWB7jaYBGAxa1GeLcaLxusWMTxAhGCiljAFBczT1w+MMWwS2uax/TUgvuAZhUEX5XGKQF9WE9lo 0OmACw3vBSPA7R2E2/yL2Q5Aw5GYUZGOIo51C1FyM3U+CSro2CiVtbFmnEbVMMISo1D3yLB8y1Lz W3wC9lp4VeYsbsxY0K2qr4XvBYc0Ayt3OHxiUr6StmBE3y0PUQsHgpATyrdyuByj3zRS220RG0HZ tPH+YdN4E0jweu4Ir9aWVJYokqGLaNSbYc+DDtHhbJpTB2FCy8Nowrpq7P8AHkNF2y20LBNr2RBb wWBrgv3l6MOKkp29tbf5KWxrVlbbqytvxyJEiRIkIqzJfOVY2r/c+2S+2S+2S+2S+2S+2SBVA4Ey n7BH7BH7BH7BH7BH7BEkLcgKbn5G/wD/2gAIAQIDAT8h/VqlUTr69zr69zr69zr69zr69zr69wdz 44/a53tep3tep3tep3tep3tep3tep8B88/vU62vc62vc62vc62vc62vc62vcU3PyP//aAAgBAwMB PyH9Wm4Lnc16nc16nc16nc16nc16nc16jmyVvz+9bTVEaojVEaojVEaog/PL6K8cr/1NU/1NU/1N U/1NU/1NU/1NU/1D1f5aPyP/2gAMAwEAAhEDEQAAEJIIBBAIIJAAAABBBIAAAABAIIJBBBJJAJAJ AAAIABBJJIAJIJAAAAAACSSYkkliSSQAAAAAAAAAAAAAAAAB/9oACAEBAwE/EFAVaDKsHmOk2bgH wPAIk4sG2ubtRntL+PoGAPFCuycjIKfMacnbwQIcsY2i3DupUN2aIJpDEkcpg4GA2+IhUElAUAsO vGYkzL16qRpZa1tBFnTsFvkIEpbrBlK4lWtxLG1uTgg4wIoF4HeXF5EJW3A/dPXkAMoGYOmaXVVF vsXLJMPVsPBVijKekDlHtkQDYVQUd2qI2NFDJ5SHNTmljxrN8q7qUa++LNUxUEjXqyVGC2djIZjX FVXK9r8C3x9KNWebBcb1c7uoxhVwHfmYkcOwuy/QOdLTZdkB5xCkaXAKoYvYGpgGLRguw/BFazWf UrJIBm0Y1Mw4+lE7aRjzYkiAKBGfdM0nu8ahOptb4s6+XgczIilk3sOBXTt9UrdcVfT8htxoWrty Nps3H0q7zxAXYZuhm8LNhC2EYq63j8XKjVjI5cgJtBziNHhRhaB4kuAyu9GLEbBF6IUK0ehHuWwb rHJ1JKgCpZJwpsz+JW3EqXVbS9x/OLDz68FcMyV54MoEUb7AyoRsF9nwpeIVjmFrMI2R+lmpaSc0 rcQJMEOmSp511W8Eoa0+UsAAAUGAH0e7Bv8AVneb05g3Fwzm/IeJ8jKolsRMsQIjjIEyiWTzVtNm fhAYGKma/QdUNuYbBcBYsL2GsnoVAaWmRnZSgVRV3Z179Y8pvcGNZMV2lRTJyKUQOpbb/wDOyYHr hhoNdjqDBgxkGNMRSKwBijEtRIkX7qZJaKUuqlMZyxGOSpFSngLHks9AS8K2mSFofSuq6yFquszP 1tIcYjajIicCKPpgGkbHLtDSLOhCTUJdhAI6F4qs0BeV2i3cUqLHR6G0Q2Y4IFxRoTPh8vkD0oYU UBy11YoEL4sLetY1pM5NSu4hrUIwIAQlgp/YQ28X1cXuQlPVBv7gRVTZjn96nirUZRUKqgwV2tlF JjMBaD8adRAjHZVaG2CJbOV790oq7syEtSsZRBorgKz3aBBuCmqRtooZdo0soJ7vE8qvfDXhyjRy SFp3SgkOyD3LSVTSSo1aWKUAIgMbt6LXwPHfBpFhboQ4N3XWtfPcYwOGs+jYjLd0Ltyxjm6RfKJ8 W+YdZ+d9mnIwWTf/ACPbh4pLcDIFu/45UqVKlSrx4iwCXhe6v8aPHjx48dOARZe2T+PRo0aNGgnu NmwN0ocYH8j/AP/aAAgBAgMBPxD9WqwEN2s/uk1hGsI1hGsI1hGsIIJb19FVfkvraaJjRMaJjRMa JjRMY/BV2XdeCjzvNERoiNERoiNERoiBAFzisfsv5H//2gAIAQMDAT8Q/VoJdrsX/AzWMaxjWMax jWMaxgZImmO+7q3EbXv+MYYYYYYWV/ABfcVdbt+PxMssssspRRoLZ7yfkb//2Q== --_004_a1131b87bec949d695a8417b586ce806BN1PR07MB069namprd07pro_--