From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.emacs.bugs Subject: bug#11822: 24.1; emacsclient terminal mode captures escape characters as text Date: Wed, 23 Sep 2015 13:27:26 -0400 Message-ID: References: <6eipe9fypj.fsf@just-testing.permabit.com> <415962DC-9BF5-4595-8180-7BE8DB545206@permabit.com> <502427D2.3080003@permabit.com> <83ipcre0fm.fsf@gnu.org> <2AB38709-2307-437E-A242-70B8A358BE4F@permabit.com> <83a9y3dwa8.fsf@gnu.org> <838vdndv9m.fsf@gnu.org> <1341183F-84AB-4257-B28B-57BDE5CA4F20@permabit.com> <83r3m97bzs.fsf@gnu.org> <37C523EE-3D76-40F7-B7B2-99D6F0BD7B97@permabit.com> <83bndc7r5b.fsf@gnu.org> <6ea8swr8ja.fsf@just-testing.permabit.com> <83si6n65ld.fsf@gnu.org> <6e613irc91.fsf@just-testing.permabit.com> <83bnda5lso.fsf@gnu.org> <6ezj0tphtd.fsf@just-testing.permabit.com> <83h9n14e04.fsf@gnu.org> <6esi6kpn4t.fsf@just-testing.permabit.com> <834miv92nm.fsf@gnu.org> <83a8sjreso.fsf@gnu.org> <838u80nm2e.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11c3ea94a605fd05206d6d41 X-Trace: ger.gmane.org 1443029310 11501 80.91.229.3 (23 Sep 2015 17:28:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 23 Sep 2015 17:28:30 +0000 (UTC) Cc: Stefan Monnier , 11822@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Sep 23 19:28:20 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Zenq1-0004Iq-Cs for geb-bug-gnu-emacs@m.gmane.org; Wed, 23 Sep 2015 19:28:13 +0200 Original-Received: from localhost ([::1]:49572 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zenq0-0006Hh-Kk for geb-bug-gnu-emacs@m.gmane.org; Wed, 23 Sep 2015 13:28:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46246) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zenpu-0006D2-8q for bug-gnu-emacs@gnu.org; Wed, 23 Sep 2015 13:28:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zenpq-0002RI-Pn for bug-gnu-emacs@gnu.org; Wed, 23 Sep 2015 13:28:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:50737) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zenpq-0002RE-Ng for bug-gnu-emacs@gnu.org; Wed, 23 Sep 2015 13:28:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Zenpq-0001og-CX for bug-gnu-emacs@gnu.org; Wed, 23 Sep 2015 13:28:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ken Raeburn Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 23 Sep 2015 17:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11822 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 11822-submit@debbugs.gnu.org id=B11822.14430292516926 (code B ref 11822); Wed, 23 Sep 2015 17:28:02 +0000 Original-Received: (at 11822) by debbugs.gnu.org; 23 Sep 2015 17:27:31 +0000 Original-Received: from localhost ([127.0.0.1]:42947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZenpK-0001ne-F1 for submit@debbugs.gnu.org; Wed, 23 Sep 2015 13:27:31 -0400 Original-Received: from mail-la0-f51.google.com ([209.85.215.51]:34889) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZenpH-0001nU-PB for 11822@debbugs.gnu.org; Wed, 23 Sep 2015 13:27:28 -0400 Original-Received: by lagj9 with SMTP id j9so59470888lag.2 for <11822@debbugs.gnu.org>; Wed, 23 Sep 2015 10:27:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=cYMtzHYS+/jqa0xcNoOnKr7OwLtFxLa0Ek3jKCy8xLw=; b=XcpETv/pBiZd8izk/1lCsRZK6U1lqigZiNyGbeRPNEu/CW0cbUVljPXea0d2r0Sjtr qzsQKmwdVp3LRoIs6q8+tZj4jjfs43RYJwMhxltUnYYKSqR2ajuxxHPV5nbBEA2xc1DV AbdPWJwXrjp4S2HFnpYvPG4P49UNC8zZTUqa8= 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:date :message-id:subject:from:to:cc:content-type; bh=cYMtzHYS+/jqa0xcNoOnKr7OwLtFxLa0Ek3jKCy8xLw=; b=k3LX1To16I7V/7/ajWylYVHeoLtnd9Zu+zg+xu7TK1Hz4JEFd/tZqcJhSnrowy1Kc5 M1x4cpehS6/f1Zx7WhfufmeWXRK399AVmu+o7FVrpk/b8niYBWlkVgb0eOSyKRAnkq1v 72AZeU/qHyQtn2PiDkLYSSdlQey03dC1l0YYUoWAjCYwSzayShyk4u6lYGGuRT1Bqi9z d+TElEzOmKkMwnW37eUUc5t9zUpKRMwovbhkdedpYQuIOd1pb1EoA90MowNRY9OW9Aq2 nvIMQXFhEU3Bjr7KkD2095upXMXgakBpaPTRwBGYE1HGspvBXCTXyVBWp9MoS/92p9Uw nOWA== X-Gm-Message-State: ALoCoQmGIUJeSbaOtJ6O/WFgcHWrNUgKJiQK/vIt1xCTU9n4QYl031eAlp6usdyPrhCa7O5NI5IC X-Received: by 10.112.63.67 with SMTP id e3mr11813854lbs.92.1443029246659; Wed, 23 Sep 2015 10:27:26 -0700 (PDT) Original-Received: by 10.112.168.38 with HTTP; Wed, 23 Sep 2015 10:27:26 -0700 (PDT) In-Reply-To: <838u80nm2e.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:106843 Archived-At: --001a11c3ea94a605fd05206d6d41 Content-Type: text/plain; charset=UTF-8 So far my testing is going smoothly. (Well, except for some unrelated issues like the desktop save file format changing and making it hard to go back to the older version.) And as far as I can tell, creating a new frame on the local display at work is not doing anything that stops to wait for communication with the remote display. It's much faster now. It's still not what I would call "fast", though, usually taking a couple of seconds... but a cursory investigation is so far pointing the finger at garbage collection being triggered during frame creation, more often than not. If I raise gc-cons-threshold by a factor of 10, frame creation and display is fairly quick (presumably only 90-95% of the time). The C stack traces from the garbage collection calls are pretty boring (maybe_gc gets called from Ffuncall which gets called from exec_byte_code etc); the Lisp backtraces point the finger mostly at internal-face-x-get-resource as the function being entered when GC gets invoked. Lisp Backtrace: "internal-face-x-get-resource" (0x1910fb80) "set-face-attribute-from-resource" (0x1910fd80) "set-face-attributes-from-resources" (0x1910ff80) "make-face-x-resource-internal" (0x19110170) "face-spec-recalc" (0x19110360) "face-set-after-frame-default" (0x19110560) "x-create-frame-with-faces" (0x19110758) 0x121eac8 PVEC_COMPILED "apply" (0x19110a10) "frame-creation-function" (0x19110c10) "make-frame" (0x19110dc0) "make-frame-on-display" (0x19110f88) "server-create-window-system-frame" (0x191111b8) "server-process-filter" (0x19111398) A memory profile report of frame creation via emacsclient includes this breakdown: - server-process-filter 2,898,676 2% - server-create-window-system-frame 1,526,354 1% - make-frame-on-display 1,522,279 1% - make-frame 1,522,279 1% - frame-creation-function 1,509,219 1% - apply 1,509,219 1% - # 1,509,219 1% - x-create-frame-with-faces 1,509,219 1% - face-set-after-frame-default 372,148 0% - face-spec-recalc 371,868 0% - make-face-x-resource-internal 368,460 0% set-face-attributes-from-resources 368,460 0% + face-spec-choose 2,384 0% + face-spec-set-2 1,024 0% normal-erase-is-backspace-setup-frame 13,036 0% + run-hook-with-args 24 0% window-system-for-display 1,024 0% - server-execute-continuation 1,355,452 1% - # 1,355,452 1% - server-execute 1,349,604 1% switch-to-buffer 1,269,569 1% + server-delete-client 36,910 0% However, I'm skeptical of the numbers since the report also indicated that read-from-minibuffer (but not things it called) used 100M (bytes? cells?) in those few seconds. (Hence the >2MB shown here being such a tiny percentage.) And the numbers vary a lot from one attempt to another, though the proportions seem to be fairly consistent. Ken --001a11c3ea94a605fd05206d6d41 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+U28gZmFyIG15IHRlc3RpbmcgaXMgZ29pbmcgc21vb3RobHkuIChXZWxs LCBleGNlcHQgZm9yIHNvbWUgdW5yZWxhdGVkIGlzc3VlcyBsaWtlIHRoZSBkZXNrdG9wIHNhdmUg ZmlsZSBmb3JtYXQgY2hhbmdpbmcgYW5kIG1ha2luZyBpdCBoYXJkIHRvIGdvIGJhY2sgdG8gdGhl IG9sZGVyIHZlcnNpb24uKSBBbmQgYXMgZmFyIGFzIEkgY2FuIHRlbGwsIGNyZWF0aW5nIGEgbmV3 IGZyYW1lIG9uIHRoZSBsb2NhbCBkaXNwbGF5IGF0IHdvcmsgaXMgbm90IGRvaW5nIGFueXRoaW5n IHRoYXQgc3RvcHMgdG8gd2FpdCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSByZW1vdGUgZGlz cGxheS4gSXQmIzM5O3MgbXVjaCBmYXN0ZXIgbm93LjxkaXY+PGJyPjwvZGl2PjxkaXY+SXQmIzM5 O3Mgc3RpbGwgbm90IHdoYXQgSSB3b3VsZCBjYWxsICZxdW90O2Zhc3QmcXVvdDssIHRob3VnaCwg dXN1YWxseSB0YWtpbmcgYSBjb3VwbGUgb2Ygc2Vjb25kcy4uLiBidXQgYSBjdXJzb3J5IGludmVz dGlnYXRpb24gaXMgc28gZmFyIHBvaW50aW5nIHRoZSBmaW5nZXIgYXQgZ2FyYmFnZSBjb2xsZWN0 aW9uIGJlaW5nIHRyaWdnZXJlZCBkdXJpbmcgZnJhbWUgY3JlYXRpb24sIG1vcmUgb2Z0ZW4gdGhh biBub3QuIElmIEkgcmFpc2UgZ2MtY29ucy10aHJlc2hvbGQgYnkgYSBmYWN0b3Igb2YgMTAsIGZy YW1lIGNyZWF0aW9uIGFuZCBkaXNwbGF5IGlzIGZhaXJseSBxdWljayAocHJlc3VtYWJseSBvbmx5 IDkwLTk1JSBvZiB0aGUgdGltZSkuIFRoZSBDIHN0YWNrIHRyYWNlcyBmcm9tIHRoZSBnYXJiYWdl IGNvbGxlY3Rpb24gY2FsbHMgYXJlIHByZXR0eSBib3JpbmcgKG1heWJlX2djIGdldHMgY2FsbGVk IGZyb20gRmZ1bmNhbGwgd2hpY2ggZ2V0cyBjYWxsZWQgZnJvbSBleGVjX2J5dGVfY29kZSBldGMp OyB0aGUgTGlzcCBiYWNrdHJhY2VzIHBvaW50IHRoZSBmaW5nZXIgbW9zdGx5IGF0IGludGVybmFs LWZhY2UteC1nZXQtcmVzb3VyY2UgYXMgdGhlIGZ1bmN0aW9uIGJlaW5nIGVudGVyZWQgd2hlbiBH QyBnZXRzIGludm9rZWQuPC9kaXY+PGRpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pkxpc3AgQmFja3Ry YWNlOjwvZGl2PjxkaXY+JnF1b3Q7aW50ZXJuYWwtZmFjZS14LWdldC1yZXNvdXJjZSZxdW90OyAo MHgxOTEwZmI4MCk8L2Rpdj48ZGl2PiZxdW90O3NldC1mYWNlLWF0dHJpYnV0ZS1mcm9tLXJlc291 cmNlJnF1b3Q7ICgweDE5MTBmZDgwKTwvZGl2PjxkaXY+JnF1b3Q7c2V0LWZhY2UtYXR0cmlidXRl cy1mcm9tLXJlc291cmNlcyZxdW90OyAoMHgxOTEwZmY4MCk8L2Rpdj48ZGl2PiZxdW90O21ha2Ut ZmFjZS14LXJlc291cmNlLWludGVybmFsJnF1b3Q7ICgweDE5MTEwMTcwKTwvZGl2PjxkaXY+JnF1 b3Q7ZmFjZS1zcGVjLXJlY2FsYyZxdW90OyAoMHgxOTExMDM2MCk8L2Rpdj48ZGl2PiZxdW90O2Zh Y2Utc2V0LWFmdGVyLWZyYW1lLWRlZmF1bHQmcXVvdDsgKDB4MTkxMTA1NjApPC9kaXY+PGRpdj4m cXVvdDt4LWNyZWF0ZS1mcmFtZS13aXRoLWZhY2VzJnF1b3Q7ICgweDE5MTEwNzU4KTwvZGl2Pjxk aXY+MHgxMjFlYWM4IFBWRUNfQ09NUElMRUQ8L2Rpdj48ZGl2PiZxdW90O2FwcGx5JnF1b3Q7ICgw eDE5MTEwYTEwKTwvZGl2PjxkaXY+JnF1b3Q7ZnJhbWUtY3JlYXRpb24tZnVuY3Rpb24mcXVvdDsg KDB4MTkxMTBjMTApPC9kaXY+PGRpdj4mcXVvdDttYWtlLWZyYW1lJnF1b3Q7ICgweDE5MTEwZGMw KTwvZGl2PjxkaXY+JnF1b3Q7bWFrZS1mcmFtZS1vbi1kaXNwbGF5JnF1b3Q7ICgweDE5MTEwZjg4 KTwvZGl2PjxkaXY+JnF1b3Q7c2VydmVyLWNyZWF0ZS13aW5kb3ctc3lzdGVtLWZyYW1lJnF1b3Q7 ICgweDE5MTExMWI4KTwvZGl2PjxkaXY+JnF1b3Q7c2VydmVyLXByb2Nlc3MtZmlsdGVyJnF1b3Q7 ICgweDE5MTExMzk4KTwvZGl2PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QSBtZW1vcnkgcHJv ZmlsZSByZXBvcnQgb2YgZnJhbWUgY3JlYXRpb24gdmlhIGVtYWNzY2xpZW50IGluY2x1ZGVzIHRo aXMgYnJlYWtkb3duOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGRpdj4tIHNlcnZlci1wcm9j ZXNzLWZpbHRlciDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCAyLDg5OCw2NzYgwqAgMiU8L2Rpdj48ZGl2PsKgLSBzZXJ2ZXItY3JlYXRlLXdpbmRv dy1zeXN0ZW0tZnJhbWUgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAxLDUyNiwz NTQgwqAgMSU8L2Rpdj48ZGl2PsKgIC0gbWFrZS1mcmFtZS1vbi1kaXNwbGF5IMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDEsNTIyLDI3OSDCoCAxJTwv ZGl2PjxkaXY+wqAgwqAtIG1ha2UtZnJhbWUgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMSw1MjIsMjc5IMKgIDElPC9kaXY+ PGRpdj7CoCDCoCAtIGZyYW1lLWNyZWF0aW9uLWZ1bmN0aW9uIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDEsNTA5LDIxOSDCoCAxJTwvZGl2PjxkaXY+wqAgwqAg wqAtIGFwcGx5IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMSw1MDksMjE5IMKgIDElPC9kaXY+PGRpdj7CoCDCoCDC oCAtICMmbHQ7Y29tcGlsZWQgMHg0ODdhYjMmZ3Q7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgMSw1MDksMjE5IMKgIDElPC9kaXY+PGRpdj7CoCDCoCDCoCDC oC0geC1jcmVhdGUtZnJhbWUtd2l0aC1mYWNlcyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoDEsNTA5LDIxOSDCoCAxJTwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgLSBmYWNlLXNl dC1hZnRlci1mcmFtZS1kZWZhdWx0IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg MzcyLDE0OCDCoCAwJTwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAtIGZhY2Utc3BlYy1yZWNhbGMg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMzcxLDg2 OCDCoCAwJTwvZGl2PjxkaXY+wqAgwqAgwqAgwqAgwqAgLSBtYWtlLWZhY2UteC1yZXNvdXJjZS1p bnRlcm5hbCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAzNjgsNDYwIMKgIDAlPC9kaXY+ PGRpdj7CoCDCoCDCoCDCoCDCoCDCoCDCoHNldC1mYWNlLWF0dHJpYnV0ZXMtZnJvbS1yZXNvdXJj ZXMgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMzY4LDQ2MCDCoCAwJTwvZGl2PjxkaXY+wqAgwqAgwqAg wqAgwqAgKyBmYWNlLXNwZWMtY2hvb3NlIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgMiwzODQgwqAgMCU8L2Rpdj48ZGl2PsKgIMKgIMKgIMKgIMKg ICsgZmFjZS1zcGVjLXNldC0yIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIDEsMDI0IMKgIDAlPC9kaXY+PGRpdj7CoCDCoCDCoCBub3JtYWwtZXJh c2UtaXMtYmFja3NwYWNlLXNldHVwLWZyYW1lIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg MTMsMDM2IMKgIDAlPC9kaXY+PGRpdj7CoCDCoCArIHJ1bi1ob29rLXdpdGgtYXJncyDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAy NCDCoCAwJTwvZGl2PjxkaXY+wqAgwqAgd2luZG93LXN5c3RlbS1mb3ItZGlzcGxheSDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAxLDAyNCDCoCAwJTwv ZGl2PjxkaXY+wqAtIHNlcnZlci1leGVjdXRlLWNvbnRpbnVhdGlvbiDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDEsMzU1LDQ1MiDCoCAxJTwvZGl2PjxkaXY+wqAg LSAjJmx0O2NvbXBpbGVkIDB4MTc1ZGQzNyZndDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMSwzNTUsNDUyIMKgIDElPC9kaXY+PGRpdj7CoCDCoC0g c2VydmVyLWV4ZWN1dGUgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgMSwzNDksNjA0IMKgIDElPC9kaXY+PGRpdj7CoCDCoCDCoCBzd2l0 Y2gtdG8tYnVmZmVyIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgMSwyNjksNTY5IMKgIDElPC9kaXY+PGRpdj7CoCDCoCArIHNlcnZlci1kZWxl dGUtY2xpZW50IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIDM2LDkxMCDCoCAwJTwvZGl2PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SG93ZXZl ciwgSSYjMzk7bSBza2VwdGljYWwgb2YgdGhlIG51bWJlcnMgc2luY2UgdGhlIHJlcG9ydCBhbHNv IGluZGljYXRlZCB0aGF0IHJlYWQtZnJvbS1taW5pYnVmZmVyIChidXQgbm90IHRoaW5ncyBpdCBj YWxsZWQpIHVzZWQgMTAwTSAoYnl0ZXM/IGNlbGxzPykgaW4gdGhvc2UgZmV3IHNlY29uZHMuIChI ZW5jZSB0aGUgJmd0OzJNQiBzaG93biBoZXJlIGJlaW5nIHN1Y2ggYSB0aW55IHBlcmNlbnRhZ2Uu KSBBbmQgdGhlIG51bWJlcnMgdmFyeSBhIGxvdCBmcm9tIG9uZSBhdHRlbXB0IHRvIGFub3RoZXIs IHRob3VnaCB0aGUgcHJvcG9ydGlvbnMgc2VlbSB0byBiZSBmYWlybHkgY29uc2lzdGVudC48L2Rp dj48ZGl2Pjxicj48L2Rpdj48ZGl2PktlbjwvZGl2PjwvZGl2Pg0K --001a11c3ea94a605fd05206d6d41--