From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/40941 Path: main.gmane.org!not-for-mail From: Harry Putnam Newsgroups: gmane.emacs.gnus.general Subject: Re: announce: nnmaildir 2001.12.19 Date: Fri, 21 Dec 2001 03:37:38 -0800 Organization: still searching... Sender: owner-ding@hpc.uh.edu Message-ID: References: NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: main.gmane.org 1035176418 3618 80.91.224.250 (21 Oct 2002 05:00:18 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 05:00:18 +0000 (UTC) Return-Path: Original-Received: (qmail 5204 invoked from network); 21 Dec 2001 21:18:35 -0000 Original-Received: from malifon.math.uh.edu (mail@129.7.128.13) by mastaler.com with SMTP; 21 Dec 2001 21:18:35 -0000 Original-Received: from sina.hpc.uh.edu ([129.7.128.10] ident=lists) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 16HX2e-0001SL-00; Fri, 21 Dec 2001 15:17:20 -0600 Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Fri, 21 Dec 2001 15:17:10 -0600 (CST) Original-Received: from epithumia.math.uh.edu (epithumia.math.uh.edu [129.7.128.2]) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id PAA24977 for ; Fri, 21 Dec 2001 15:17:02 -0600 (CST) Original-Received: (from tibbs@localhost) by epithumia.math.uh.edu (8.11.2/8.11.1) id fBLLH7X24274 for ding@hpc.uh.edu; Fri, 21 Dec 2001 15:17:07 -0600 Original-Received: from sclp3.sclp.com (qmailr@sclp3.sclp.com [209.196.61.66]) by sina.hpc.uh.edu (8.9.3/8.9.3) with SMTP id FAA23264 for ; Fri, 21 Dec 2001 05:37:40 -0600 (CST) Original-Received: (qmail 5457 invoked by alias); 21 Dec 2001 11:37:44 -0000 Original-Received: (qmail 5452 invoked from network); 21 Dec 2001 11:37:44 -0000 Original-Received: from quimby.gnus.org (HELO quimby2.netfonds.no) (195.204.10.66) by gnus.org with SMTP; 21 Dec 2001 11:37:44 -0000 Original-Received: from news by quimby2.netfonds.no with local (Exim 3.12 #1 (Debian)) id 16HOAm-0007LT-00 for ; Fri, 21 Dec 2001 12:49:08 +0100 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 413 Original-NNTP-Posting-Host: adsl-66.51.210.228.dslextreme.com Original-X-Trace: quimby2.netfonds.no 1008935348 28238 66.51.210.228 (21 Dec 2001 11:49:08 GMT) Original-X-Complaints-To: usenet@quimby2.netfonds.no Original-NNTP-Posting-Date: 21 Dec 2001 11:49:08 GMT User-Agent: Gnus/5.090004 (Oort Gnus v0.04) Emacs/21.1 (i386-pc-solaris2.8) Cancel-Lock: sha1:CUmIhqbg8WlN3+CEAhobmdVgeqo= Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:40941 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:40941 --=-=-= prj@po.cwru.edu (Paul Jarc) writes: > Harry Putnam wrote: >> prj@po.cwru.edu (Paul Jarc) writes: >>> >> >> Paul, I noticed a warning on our pages about skipping versions and >> what it might cause, ^^^ He he... In case you were wondering how your pages got to be our pages, it was thru the magic of typo wizardry. [...] >> but I see no handy way to tell which version is currently in use. >> Nothing in the *.el file to indicate version. > > See the variable nnmaildir-version (which could probably be removed > now, since nnmaildir is now in CVS). Why such a complicated unlikely name... :-) > >> Also maybe a condensed version of the info on our pages as a >> `comments' section. Findable with M-x finder-commentary. > > Ah - is that simply pulled from the comment at the top of the file? I Yes, but there isn't currently a comment section. At least not in the download I got. >> There should be a private message on you incoming spool some where >> with a detailed report, see: > > I haven't seen it. Resend? I guess I'll go ahead and air it here. Maybe someone else will be interested. Excerpted from previously sent message: prj@po.cwru.edu (Paul Jarc) writes in mesg-id: Message-ID: [...] > > > But now that we know that nnmaildir-save-mail is being called, I'd say > > we probably don't need to step through it. Instead, debug-on-entry > > nnmaildir-request-accept-article and step through that. (But if the > > debugger never pops up, then that means that nnmaildir-save-mail isn't > > calling nnmaildir-request-accept-article, so we'd need to step through > > nnmaildir-save-mail to find out why.) As you step through, make note > > of the results of the controlling tests of all the "if" and "when" > > calls. > > I collected quite a bunch of data, but thought maybe better to take > this off list. Probably getting a little boring, and too detailed. > Attached is a report from debug-on-entry > nnmaildir-request-accept-article This was compiled before your new version was released, not sure how much may be different now. Just now getting the new version installed. > I recorded the steps (about 45) and `c'ed thru some stuff that looked > repetitious. Hard to know where to stop, seems like it could go on > into infinity. I hope this is enough to figure out something. > > The report starts with a brief description of my setup. --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=debug Content-Transfer-Encoding: base64 Content-Description: debug_data Q29uZGl0aW9uczogClJ1bm5pbmcgZW1hY3MtMjEgCm5ubWFpbGRpciA9IGN1cnJlbnQgcmVsZWFz ZSBhdmFpbGFibGUgYXQ6CjxVUkw6aHR0cDovL211bHRpdmFjLmN3cnUuZWR1Li9ubm1haWxkaXIv PgooSSBkb24ndCBzZWUgYSB2ZXJzaW9uIG51bWJlcikKCgpUaGVyZSBhcmUgdGhyZWUgbWVzc2Fn ZXMgd2FpdGluZyBvbiAvdmFyL21haWwvcmVhZGVyCkVhY2ggb25lIGhhcyBhIHN1YmplY3QgbGlu ZSBgSVhORVknCgpNeSBzcGxpdCBjb250YWlucyBhIHJ1bGUgdG8gc3BsaXQgdGhhdCBzdWJqZWN0 IHRvIGEgZ3JvdXAgY2FsbGVkCmB0ZXN0cycuCgogIChzZXRxIG5ubWFpbC1zcGxpdC1tZXRob2Rz IAogICAgJygoInRlc3RzIiAiXlN1YmplY3Q6IElYTkVZIikKICAgICAgICAoIm1pc2MiICIiKSkp IAoKSSB1c2VkIHRoaXMgYXBwcm9hY2ggcmF0aGVyIHRoYW4gYG1pc2MnIGJlY2F1c2UgSSBoYW5k IGNyZWF0ZWQgCgpgbm5tYWlsZGlyOm1pc2MnIGluIG9yZGVyIHRvIHJlY2VpdmUgc3lzdGVtIG1h aWwuICBXaXRoIGhhbmQgY3JlYXRpb24KbWFpbCBpcyBkZWxpdmVyZWQgYXMgZXhwZWN0ZWQuCgpN eSBmaXJzdCB0ZXN0IHJlc3VsdHMgd2VyZSBiZWZvcmUgdGhhdCBoYW5kIGNyZWF0aW9uIGFuZCBo YWQgYSBzaW1pbGFyCm91dGNvbWUgYXMgcmVwb3J0ZWQgYmVsb3cgd2hlbiBgdGVzdHMnIGlzIHRo ZSB0YXJnZXQuCgpNeSBzZWNvbmRhcnktc2VsZWN0IG1ldGhvZHMgYXJlIG5ubWFpbGRpciBvbmx5 Ogooc2V0cSBnbnVzLXNlY29uZGFyeS1zZWxlY3QtbWV0aG9kcwogICAgICAgICcoKG5ubWFpbGRp ciAiIgogICAgICAgICAgICAgICAgICAgIChkaXJlY3RvcnkgIn4vbjJtZCIpCiAgICAgICAgICAg ICAgICAgICAgKGNyZWF0ZS1kaXJlY3RvcnkgIi4uL25ld19tZCIpCiAgICAgICAgICAgICAgICAg ICAgKGRpcmVjdG9yeS1maWxlcyBubmhlYWRlci1kaXJlY3RvcnktZmlsZXMtc2FmZSkKICAgICAg ICAgICAgICAgICAgICAoZ2V0LW5ldy1tYWlsIHQpKSkpCj09PT0gRU5EIENPTkRJVElPTlMgPT09 CgpUaGUgcmVzdCBvZiB0aGlzIHJlcG9ydCBpcyB0aGUgcmVzdWx0IG9mIHJ1bm5pbmc6Ck0teCBk ZWJ1Zy1vbi1lbnRyeSA8UkVUPiBubm1haWxkaXItcmVxdWVzdC1hY2NlcHQtYXJ0aWNsZSA8UkVU PgoKSSd2ZSBsaXN0ZWQgdGhlbSBpbiBvcmRlciBmcm9tIHRvcCB0byBib3R0b20uICBOb3QgaW4g dGhlIHVwc2lkZSBkb3duCndheSB0aGF0IGVtYWNzIHJlcG9ydHMgdGhlbS4gIE5vdCBzdXJlIGlm IHRoYXQgaXMgYSBzbWFydCB3YXkgdG8gZG8gaXQsIApidXQgaXQgbG9va2VkIGVhc2llciB0byBm b2xsb3cuICBBbHNvIG5vdCB0aGF0IGNsZWFyIHdoZXJlIHRvIGJyZWFrIG9mZgpzbyBpbmNsdWRl ZCB1cCB0byB0aGUgbGFzdCBzdGVwIHNob3duIGJlbG93LgogCk5PVEU6ClRoZSBmaXJzdCBzZWN0 aW9uIGJlbG93IGlzIHRoZSBmdWxsIGJhY2t0cmFjZSoKClRoZXJlYWZ0ZXIgZWFjaCBgZCcgc3Rl cCBpcyByZWNvcmRlZCBiZWdpbm5pbmcgd2l0aCBhIGJsYW5rIGxpbmUgYW5kCmVuZGluZyB3aXRo IGA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Jy4gIEhvcGVmdWxseQp0 aGlzIHdpbGwgcmVwcm9kdWNlIGFueSB2YWx1ZXMgcmV0dXJuZWQgZXRjIGluIGEgcmVhZGFibGUg d2F5LgoKCj09PT09IEJFR0lOIFJFUE9SVCA9PT09PQpEZWJ1Z2dlciBlbnRlcmVkLS1lbnRlcmlu ZyBhIGZ1bmN0aW9uOgoqIG5ubWFpbGRpci1yZXF1ZXN0LWFjY2VwdC1hcnRpY2xlKCJ0ZXN0cyIp CiAgKGlmIChubm1haWxkaXItcmVxdWVzdC1hY2NlcHQtYXJ0aWNsZSB4KSBuaWwgKHRocm93IChx dW90ZSByZXR1cm4pIG5pbCkpCiAgKGxldCAoKGdyb3VwLWFydCBncm91cC1hcnQpIHggbm5tYWls ZGlyLS1maWxlIGRlYWN0aXZhdGUtbWFyaykgKHNhdmUtZXhjdXJzaW9uIChnb3RvLWNoYXIgLi4u KSAoc2F2ZS1tYXRjaC1kYXRhIC4uLikpIChzZXRxIHggKGNhYXIgZ3JvdXAtYXJ0KSBncm91cC1h cnQgKGNkciBncm91cC1hcnQpKSAoaWYgKG5ubWFpbGRpci1yZXF1ZXN0LWFjY2VwdC1hcnRpY2xl IHgpIG5pbCAodGhyb3cgLi4uIG5pbCkpIChzZXRxIHggKG5ubWFpbGRpci0tcHJlcGFyZSBuaWwg eCkgbm5tYWlsZGlyLS1maWxlIChubm1haWxkaXItLXNydi1nZXQtZGlyIG5ubWFpbGRpci0tY3Vy LXNlcnZlcikgbm5tYWlsZGlyLS1maWxlIChjb25jYXQgbm5tYWlsZGlyLS1maWxlIC4uLikgbm5t YWlsZGlyLS1maWxlIChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5IG5ubWFpbGRpci0tZmlsZSkgeCAo bm5tYWlsZGlyLS1ncnAtZ2V0LWxpc3RzIHgpIHggKG5ubWFpbGRpci0tbGlzdHMtZ2V0LW5saXN0 IHgpIHggKGNhciB4KSBubm1haWxkaXItLWZpbGUgKGNvbmNhdCBubm1haWxkaXItLWZpbGUgLi4u IC4uLikpICh3aGlsZSBncm91cC1hcnQgKHNldHEgeCAuLi4gZ3JvdXAtYXJ0IC4uLikgKGlmIC4u LiBuaWwgLi4uKSkpCiAgKGNhdGNoIChxdW90ZSByZXR1cm4pIChpZiBncm91cC1hcnQgbmlsICh0 aHJvdyAuLi4gbmlsKSkgKGxldCAoLi4uIHggbm5tYWlsZGlyLS1maWxlIGRlYWN0aXZhdGUtbWFy aykgKHNhdmUtZXhjdXJzaW9uIC4uLiAuLi4pIChzZXRxIHggLi4uIGdyb3VwLWFydCAuLi4pIChp ZiAuLi4gbmlsIC4uLikgKHNldHEgeCAuLi4gbm5tYWlsZGlyLS1maWxlIC4uLiBubm1haWxkaXIt LWZpbGUgLi4uIG5ubWFpbGRpci0tZmlsZSAuLi4geCAuLi4geCAuLi4geCAuLi4gbm5tYWlsZGly LS1maWxlIC4uLikgKHdoaWxlIGdyb3VwLWFydCAuLi4gLi4uKSkgZ3JvdXAtYXJ0KQogIG5ubWFp bGRpci1zYXZlLW1haWwoKCgidGVzdHMiKSkpCiAgbm5tYWlsLWNoZWNrLWR1cGxpY2F0aW9uKCI8 MjAwMTEyMTgxODQxLmZCSUlmYWoyMDg2NEBzb2wubG9jYWwubGFuPiIgbm5tYWlsZGlyLXNhdmUt bWFpbCBubm1haWxkaXItYWN0aXZlLW51bWJlcikKICBubm1haWwtcHJvY2Vzcy11bml4LW1haWwt Zm9ybWF0KG5ubWFpbGRpci1zYXZlLW1haWwgbm5tYWlsZGlyLWFjdGl2ZS1udW1iZXIpCiAgbm5t YWlsLXNwbGl0LWluY29taW5nKCJ+Ly5lbWFjcy1tYWlsLWNyYXNoLWJveCIgbm5tYWlsZGlyLXNh dmUtbWFpbCBuaWwgbmlsIG5ubWFpbGRpci1hY3RpdmUtbnVtYmVyKQogICNbKGZpbGUgb3JpZy1m aWxlKSAiwgjDxAgJmj+FAMUJxlwixyWHIiBbZmlsZSBvcmlnLWZpbGUgbm5tYWlsLXNwbGl0LWlu Y29taW5nIG5ubWFpbGRpci1zYXZlLW1haWwgbmlsIG5ubWFpbC1nZXQtc3BsaXQtZ3JvdXAgKGZp bGUgOnBhdGggIi92YXIvbWFpbC9yZWFkZXIiKSBubm1haWxkaXItYWN0aXZlLW51bWJlcl0gN10o In4vLmVtYWNzLW1haWwtY3Jhc2gtYm94IiAifi8uZW1hY3MtbWFpbC1jcmFzaC1ib3giKQogIG1h aWwtc291cmNlLWNhbGxiYWNrKCNbKGZpbGUgb3JpZy1maWxlKSAiwgjDxAgJmj+FAMUJxlwixyWH IiBbZmlsZSBvcmlnLWZpbGUgbm5tYWlsLXNwbGl0LWluY29taW5nIG5ubWFpbGRpci1zYXZlLW1h aWwgbmlsIG5ubWFpbC1nZXQtc3BsaXQtZ3JvdXAgKGZpbGUgOnBhdGggIi92YXIvbWFpbC9yZWFk ZXIiKSBubm1haWxkaXItYWN0aXZlLW51bWJlcl0gN10gIn4vLmVtYWNzLW1haWwtY3Jhc2gtYm94 IikKICBtYWlsLXNvdXJjZS1mZXRjaCgoZmlsZSA6cGF0aCAiL3Zhci9tYWlsL3JlYWRlciIpICNb KGZpbGUgb3JpZy1maWxlKSAiwgjDxAgJmj+FAMUJxlwixyWHIiBbZmlsZSBvcmlnLWZpbGUgbm5t YWlsLXNwbGl0LWluY29taW5nIG5ubWFpbGRpci1zYXZlLW1haWwgbmlsIG5ubWFpbC1nZXQtc3Bs aXQtZ3JvdXAgKGZpbGUgOnBhdGggIi92YXIvbWFpbC9yZWFkZXIiKSBubm1haWxkaXItYWN0aXZl LW51bWJlcl0gN10pCiAgbm5tYWlsLWdldC1uZXctbWFpbChubm1haWxkaXIgbmlsIG5pbCkKICAo aWYgKG5ubWFpbGRpci0tc3J2LWdldC1nbm0gbm5tYWlsZGlyLS1jdXItc2VydmVyKSAobm5tYWls LWdldC1uZXctbWFpbCAocXVvdGUgbm5tYWlsZGlyKSBuaWwgbmlsKSkKICAoaWYgKHN0cmluZ3Ag c2Nhbi1ncm91cCkgKGlmIChubm1haWxkaXItLXNjYW4gc2Nhbi1ncm91cCB0IGdyb3VwcyBtZXRo b2Qgc3J2LWRpciBzcnYtbHMpIChpZiAuLi4gLi4uKSAodW5pbnRlcm4gc2Nhbi1ncm91cCBncm91 cHMpKSAoc2V0cSB4IChudGggNSAuLi4pKSAoaWYgKGVxdWFsIHggLi4uKSAoaWYgc2Nhbi1ncm91 cCBuaWwgLi4uKSAoc2V0cSBkaXJzIC4uLiB4IC4uLiBzZWVuIDEpICh3aGlsZSAuLi4gLi4uKSAo aWYgLi4uIC4uLikgKHNldHEgc2VlbiAuLi4gc2Nhbi1ncm91cCAuLi4pICh3aGlsZSBkaXJzIC4u LiAuLi4pIChzZXRxIHggbmlsKSAobWFwYXRvbXMgLi4uIGdyb3VwcykgKHdoaWxlIHggLi4uIC4u LikgKG5ubWFpbGRpci0tc3J2LXNldC1tdGltZSBubm1haWxkaXItLWN1ci1zZXJ2ZXIgLi4uKSkg KGlmIChubm1haWxkaXItLXNydi1nZXQtZ25tIG5ubWFpbGRpci0tY3VyLXNlcnZlcikgKG5ubWFp bC1nZXQtbmV3LW1haWwgLi4uIG5pbCBuaWwpKSkKICAocHJvZ24gKGlmIChzdHJpbmdwIHNjYW4t Z3JvdXApIChpZiAuLi4gLi4uIC4uLikgKHNldHEgeCAuLi4pIChpZiAuLi4gLi4uIC4uLiAuLi4g Li4uIC4uLiAuLi4gLi4uIC4uLiAuLi4gLi4uKSAoaWYgLi4uIC4uLikpKQogICh1bndpbmQtcHJv dGVjdCAocHJvZ24gKGlmIC4uLiAuLi4gLi4uIC4uLiAuLi4pKSAoc2V0LW1hdGNoLWRhdGEgc2F2 ZS1tYXRjaC1kYXRhLWludGVybmFsKSkKICAobGV0ICgoc2F2ZS1tYXRjaC1kYXRhLWludGVybmFs IC4uLikpICh1bndpbmQtcHJvdGVjdCAocHJvZ24gLi4uKSAoc2V0LW1hdGNoLWRhdGEgc2F2ZS1t YXRjaC1kYXRhLWludGVybmFsKSkpCiAgKHNhdmUtbWF0Y2gtZGF0YSAoaWYgKHN0cmluZ3Agc2Nh bi1ncm91cCkgKGlmIC4uLiAuLi4gLi4uKSAoc2V0cSB4IC4uLikgKGlmIC4uLiAuLi4gLi4uIC4u LiAuLi4gLi4uIC4uLiAuLi4gLi4uIC4uLiAuLi4pIChpZiAuLi4gLi4uKSkpCiAgKHNhdmUtZXhj dXJzaW9uIChzZXQtYnVmZmVyIChnZXQtYnVmZmVyLWNyZWF0ZSAiICpubm1haWxkaXIgd29yayoi KSkgKHNhdmUtbWF0Y2gtZGF0YSAoaWYgLi4uIC4uLiAuLi4gLi4uIC4uLikpKQogIChsZXQgKChj b2Rpbmctc3lzdGVtLWZvci13cml0ZSBubmhlYWRlci1maWxlLWNvZGluZy1zeXN0ZW0pIChidWZm ZXItZmlsZS1jb2Rpbmctc3lzdGVtIG5pbCkgKGZpbGUtY29kaW5nLXN5c3RlbS1hbGlzdCBuaWwp IChubm1haWxkaXItZ2V0LW5ldy1tYWlsIHQpIChubm1haWxkaXItZ3JvdXAtYWxpc3QgbmlsKSAo bm5tYWlsZGlyLWFjdGl2ZS1maWxlIG5pbCkgeCBzcnYtbHMgc3J2LWRpciBtZXRob2QgZ3JvdXBz IGdyb3VwIGRpcnMgZ3JwLWRpciBzZWVuIGRlYWN0aXZhdGUtbWFyaykgKG5ubWFpbGRpci0tcHJl cGFyZSBzZXJ2ZXIgbmlsKSAoc2V0cSBzcnYtbHMgKG5ubWFpbGRpci0tc3J2LWdldC1scyBubm1h aWxkaXItLWN1ci1zZXJ2ZXIpIHNydi1kaXIgKG5ubWFpbGRpci0tc3J2LWdldC1kaXIgbm5tYWls ZGlyLS1jdXItc2VydmVyKSBtZXRob2QgKG5ubWFpbGRpci0tc3J2LWdldC1tZXRob2Qgbm5tYWls ZGlyLS1jdXItc2VydmVyKSBncm91cHMgKG5ubWFpbGRpci0tc3J2LWdldC1ncm91cHMgbm5tYWls ZGlyLS1jdXItc2VydmVyKSkgKHNhdmUtZXhjdXJzaW9uIChzZXQtYnVmZmVyIC4uLikgKHNhdmUt bWF0Y2gtZGF0YSAuLi4pKSkKICBubm1haWxkaXItcmVxdWVzdC1zY2FuKG5pbCAiIikKICBnbnVz LXJlcXVlc3Qtc2NhbihuaWwgKG5ubWFpbGRpciAiIiAoZGlyZWN0b3J5ICJ+L24ybWQiKSAoY3Jl YXRlLWRpcmVjdG9yeSAiLi4vbmV3X21kIikgKGRpcmVjdG9yeS1maWxlcyBubmhlYWRlci1kaXJl Y3RvcnktZmlsZXMtc2FmZSkgKGdldC1uZXctbWFpbCB0KSkpCiAgZ251cy1yZWFkLWFjdGl2ZS1m aWxlLTEoKG5ubWFpbGRpciAiIiAoZGlyZWN0b3J5ICJ+L24ybWQiKSAoY3JlYXRlLWRpcmVjdG9y eSAiLi4vbmV3X21kIikgKGRpcmVjdG9yeS1maWxlcyBubmhlYWRlci1kaXJlY3RvcnktZmlsZXMt c2FmZSkgKGdldC1uZXctbWFpbCB0KSkgbmlsKQogIGdudXMtcmVhZC1hY3RpdmUtZmlsZSgpCiAg Z251cy1ncm91cC1nZXQtbmV3LW5ld3MobmlsKQogIGNhbGwtaW50ZXJhY3RpdmVseShnbnVzLWdy b3VwLWdldC1uZXctbmV3cykKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQoKQkVHSU4gYGQnIFN0ZXBzOgoKRGVidWdnZXIgZW50ZXJlZC0tYmVnaW5uaW5nIGV2YWx1YXRp b24gb2YgZnVuY3Rpb24gY2FsbCBmb3JtOgoqIChsZXQgKChncm91cCAuLi4pIChjb2Rpbmctc3lz dGVtLWZvci13cml0ZSBubmhlYWRlci1maWxlLWNvZGluZy1zeXN0ZW0pIChidWZmZXItZmlsZS1j b2Rpbmctc3lzdGVtIG5pbCkgKGZpbGUtY29kaW5nLXN5c3RlbS1hbGlzdCBuaWwpIHNydi1kaXIg ZGlyIGZpbGUgdG1wZmlsZSBjdXJmaWxlIDI0aCBudW0gYXJ0aWNsZSkgKGNhdGNoIChxdW90ZSBy ZXR1cm4pIChpZiBncm91cCBuaWwgLi4uIC4uLikgKHNldHEgZ25hbWUgLi4uKSAod2hlbiAuLi4g Li4uIC4uLikgKHNldHEgc3J2LWRpciAuLi4gZGlyIC4uLiBmaWxlIC4uLikgKGlmIC4uLiBuaWwg Li4uKSAoc2V0cSBmaWxlIC4uLikgKGlmIC4uLiBuaWwgLi4uKSAoc2V0cSBmaWxlIC4uLiB0bXBm aWxlIC4uLiBjdXJmaWxlIC4uLikgKHdoZW4gLi4uIC4uLiAuLi4pICh3aGVuIC4uLiAuLi4gLi4u KSAoc2V0cSBubm1haWxkaXItLWRlbGl2ZXJ5LWN0IC4uLiAyNGggLi4uKSAoY29uZGl0aW9uLWNh c2UgbmlsIC4uLiAuLi4pIChjYW5jZWwtdGltZXIgMjRoKSAoY29uZGl0aW9uLWNhc2UgZXJyIC4u LiAuLi4pIChubm1haWxkaXItLXVubGluayB0bXBmaWxlKSAoc2V0cSBhcnRpY2xlIC4uLiBudW0g Li4uIG51bSAuLi4gbnVtIC4uLikgKG5ubWFpbGRpci0tYXJ0LXNldC1wcmVmaXggYXJ0aWNsZSBm aWxlKSAobm5tYWlsZGlyLS1hcnQtc2V0LXN1ZmZpeCBhcnRpY2xlICI6MiwiKSAobm5tYWlsZGly LS1hcnQtc2V0LW51bSBhcnRpY2xlIG51bSkgKGlmIC4uLiAuLi4pKSkKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQoKRGVidWdnZXIgZW50ZXJlZC0tYmVnaW5uaW5nIGV2 YWx1YXRpb24gb2YgZnVuY3Rpb24gY2FsbCBmb3JtOgoqIChubm1haWxkaXItLXByZXBhcmUgc2Vy dmVyIGduYW1lKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1 Z2dlciBlbnRlcmVkLS1iZWdpbm5pbmcgZXZhbHVhdGlvbiBvZiBmdW5jdGlvbiBjYWxsIGZvcm06 CiogKGxldCAoeCBncm91cHMpIChjYXRjaCAocXVvdGUgcmV0dXJuKSAoc2V0cSB4IG5ubWFpbGRp ci0tdG1wLXNlcnZlcikgKHdoZW4geCAuLi4gLi4uKSAoaWYgLi4uIC4uLiAuLi4gLi4uKSAoc2V0 cSBncm91cHMgLi4uKSAoaWYgZ3JvdXBzIG5pbCAuLi4pIChpZiAuLi4gbmlsIC4uLiAuLi4gLi4u KSAoc2V0cSB4IC4uLikgKHdoZW4geCAuLi4gLi4uKSAoaWYgLi4uIC4uLiAuLi4gLi4uIC4uLikg KG5ubWFpbGRpci0tbGlzdHMtZml4IC4uLikgZ3JvdXApKQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1iZWdpbm5pbmcgZXZhbHVhdGlv biBvZiBmdW5jdGlvbiBjYWxsIGZvcm06CiogKGNhdGNoIChxdW90ZSByZXR1cm4pIChzZXRxIHgg bm5tYWlsZGlyLS10bXAtc2VydmVyKSAod2hlbiB4IChzZXQgLi4uIHgpIChzZXRxIG5ubWFpbGRp ci0tdG1wLXNlcnZlciBuaWwpKSAoaWYgKG51bGwgc2VydmVyKSAob3IgLi4uIC4uLikgKG9yIC4u LiAuLi4pIChzZXRxIHNlcnZlciAuLi4gbm5tYWlsZGlyLS1jdXItc2VydmVyIHNlcnZlcikpIChz ZXRxIGdyb3VwcyAobm5tYWlsZGlyLS1zcnYtZ2V0LWdyb3VwcyBzZXJ2ZXIpKSAoaWYgZ3JvdXBz IG5pbCAodGhyb3cgLi4uIG5pbCkpIChpZiAobm5tYWlsZGlyLS1zcnYtZ2V0LW1ldGhvZCBzZXJ2 ZXIpIG5pbCAoc2V0cSB4IC4uLiB4IC4uLikgKGlmIHggbmlsIC4uLikgKG5ubWFpbGRpci0tc3J2 LXNldC1tZXRob2Qgc2VydmVyIHgpKSAoc2V0cSB4IChubm1haWxkaXItLXNydi1nZXQtdG1wZ3Jw IHNlcnZlcikpICh3aGVuIHggKHNldCAuLi4geCkgKG5ubWFpbGRpci0tc3J2LXNldC10bXBncnAg c2VydmVyIG5pbCkpIChpZiAobnVsbCBncm91cCkgKG9yIC4uLiAuLi4pIChzZXRxIGdyb3VwIC4u LikgKGlmIGdyb3VwIG5pbCAuLi4pIChzZXRxIGdyb3VwIC4uLikpIChubm1haWxkaXItLWxpc3Rz LWZpeCAobm5tYWlsZGlyLS1ncnAtZ2V0LWxpc3RzIGdyb3VwKSkgZ3JvdXApCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQtLWJlZ2lubmlu ZyBldmFsdWF0aW9uIG9mIGZ1bmN0aW9uIGNhbGwgZm9ybToKKiAocXVvdGUgcmV0dXJuKQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1y ZXR1cm5pbmcgdmFsdWU6IHJldHVybgogIChxdW90ZSByZXR1cm4pCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQtLWJlZ2lubmluZyBldmFs dWF0aW9uIG9mIGZ1bmN0aW9uIGNhbGwgZm9ybToKKiAoc2V0cSB4IG5ubWFpbGRpci0tdG1wLXNl cnZlcikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKRGVidWdnZXIg ZW50ZXJlZC0tcmV0dXJuaW5nIHZhbHVlOiBuaWwKICAoc2V0cSB4IG5ubWFpbGRpci0tdG1wLXNl cnZlcikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKRGVidWdnZXIg ZW50ZXJlZC0tYmVnaW5uaW5nIGV2YWx1YXRpb24gb2YgZnVuY3Rpb24gY2FsbCBmb3JtOgoqICh3 aGVuIHggKHNldCAoaW50ZXJuIC4uLiBubm1haWxkaXItLXNlcnZlcnMpIHgpIChzZXRxIG5ubWFp bGRpci0tdG1wLXNlcnZlciBuaWwpKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1lbnRlcmluZyBhIGZ1bmN0aW9uOgoqICNbKGNvbmQg JnJlc3QgYm9keSkgIsIIwwlCRYciIFtjb25kIGJvZHkgaWYgcHJvZ25dIDQgMTM2Mzk4NF0oeCAo c2V0IChpbnRlcm4gKG5ubWFpbGRpci0tc3J2LWdldC1uYW1lIHgpIG5ubWFpbGRpci0tc2VydmVy cykgeCkgKHNldHEgbm5tYWlsZGlyLS10bXAtc2VydmVyIG5pbCkpCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQtLXJldHVybmluZyB2YWx1 ZTogKGlmIHggKHByb2duIChzZXQgKGludGVybiAobm5tYWlsZGlyLS1zcnYtZ2V0LW5hbWUgeCkg bm5tYWlsZGlyLS1zZXJ2ZXJzKSB4KSAoc2V0cSBubm1haWxkaXItLXRtcC1zZXJ2ZXIgbmlsKSkp CiAgI1soY29uZCAmcmVzdCBib2R5KSAiwgjDCUJFhyIgW2NvbmQgYm9keSBpZiBwcm9nbl0gNCAx MzYzOTg0XSh4IChzZXQgKGludGVybiAobm5tYWlsZGlyLS1zcnYtZ2V0LW5hbWUgeCkgbm5tYWls ZGlyLS1zZXJ2ZXJzKSB4KSAoc2V0cSBubm1haWxkaXItLXRtcC1zZXJ2ZXIgbmlsKSkKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKRGVidWdnZXIgZW50ZXJlZC0tYmVn aW5uaW5nIGV2YWx1YXRpb24gb2YgZnVuY3Rpb24gY2FsbCBmb3JtOgoqIChpZiB4IChwcm9nbiAo c2V0IC4uLiB4KSAoc2V0cSBubm1haWxkaXItLXRtcC1zZXJ2ZXIgbmlsKSkpCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQtLXJldHVybmlu ZyB2YWx1ZTogbmlsCiAgKGlmIHggKHByb2duIChzZXQgLi4uIHgpIChzZXRxIG5ubWFpbGRpci0t dG1wLXNlcnZlciBuaWwpKSkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQoKRGVidWdnZXIgZW50ZXJlZC0tcmV0dXJuaW5nIHZhbHVlOiBuaWwKICAod2hlbiB4IChzZXQg KGludGVybiAuLi4gbm5tYWlsZGlyLS1zZXJ2ZXJzKSB4KSAoc2V0cSBubm1haWxkaXItLXRtcC1z ZXJ2ZXIgbmlsKSkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKRGVi dWdnZXIgZW50ZXJlZC0tYmVnaW5uaW5nIGV2YWx1YXRpb24gb2YgZnVuY3Rpb24gY2FsbCBmb3Jt OgoqIChpZiAobnVsbCBzZXJ2ZXIpIChvciAoc2V0cSBzZXJ2ZXIgbm5tYWlsZGlyLS1jdXItc2Vy dmVyKSAodGhyb3cgLi4uIG5pbCkpIChvciAoc2V0cSBzZXJ2ZXIgLi4uKSAodGhyb3cgLi4uIG5p bCkpIChzZXRxIHNlcnZlciAoc3ltYm9sLXZhbHVlIHNlcnZlcikgbm5tYWlsZGlyLS1jdXItc2Vy dmVyIHNlcnZlcikpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkRl YnVnZ2VyIGVudGVyZWQtLWJlZ2lubmluZyBldmFsdWF0aW9uIG9mIGZ1bmN0aW9uIGNhbGwgZm9y bToKKiAobnVsbCBzZXJ2ZXIpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KCkRlYnVnZ2VyIGVudGVyZWQtLXJldHVybmluZyB2YWx1ZTogdAogIG51bGwobmlsKQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1i ZWdpbm5pbmcgZXZhbHVhdGlvbiBvZiBmdW5jdGlvbiBjYWxsIGZvcm06CiogKG9yIChzZXRxIHNl cnZlciBubm1haWxkaXItLWN1ci1zZXJ2ZXIpICh0aHJvdyAocXVvdGUgcmV0dXJuKSBuaWwpKQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVk LS1iZWdpbm5pbmcgZXZhbHVhdGlvbiBvZiBmdW5jdGlvbiBjYWxsIGZvcm06CiogKHNldHEgc2Vy dmVyIG5ubWFpbGRpci0tY3VyLXNlcnZlcikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQoKRGVidWdnZXIgZW50ZXJlZC0tcmV0dXJuaW5nIHZhbHVlOiBbIiIgKG5ubWFp bGRpciAiIiAoZGlyZWN0b3J5ICJ+L24ybWQiKSAoY3JlYXRlLWRpcmVjdG9yeSAiLi4vbmV3X21k IikgKGRpcmVjdG9yeS1maWxlcyBubmhlYWRlci1kaXJlY3RvcnktZmlsZXMtc2FmZSkgKGdldC1u ZXctbWFpbCB0KSkgIi9leHBvcnQvaG9tZS9yZWFkZXIvbjJtZC8iIG5uaGVhZGVyLWRpcmVjdG9y eS1maWxlcy1zYWZlIFswIGNvbXBcLmVkaXRvcnMgbWlzYyAwIDAgMCBjb21wXC5zZWN1cml0eVwu c3NoIGNvbXBcLnVuaXhcLnNvbGFyaXMgY29tcFwudW5peFwucXVlc3Rpb25zIDAgMCAwIGdudVwu ZW1hY3NcLmhlbHAgY29tcFwubWFpbFwubWlzYyBjb21wXC5lbWFjcyAwIG1haWxpbmdcLmZyZWVi c2RcLm5ldCAwIG1haWxpbmdcLmZyZWVic2RcLnNlY3VyaXR5IG1haWxpbmdcLmZyZWVic2RcLnF1 ZXN0aW9ucyAwIGNvbXBcLnVuaXhcLnNoZWxsIDAgMCAwIDAgYWx0XC5zb2xhcmlzXC54ODYgZ251 XC5lbWFjc1wuZ251cyBjb21wXC5vc1wubGludXhcLnNlY3VyaXR5IDAgbWFpbGluZ1wuZnJlZWJz ZFwuc3RhYmxlXSBuaWwgWyJtaXNjIiAibm5tYWlsZGlyOm1pc2MiICgxNTM5MCAxMzIxOSkgKDE1 MzkxIDIxNzM4KSBbbmlsIFswXSBbMF0gbmlsXSBbbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAwIFswXV0gIk5vIHN1Y2ggZ3Jv dXA6IHRlc3RzIiAoMTUzOTEgMzU2MjQpIHQgIi4uL25ld19tZCJdCiAgKHNldHEgc2VydmVyIG5u bWFpbGRpci0tY3VyLXNlcnZlcikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQoKRGVidWdnZXIgZW50ZXJlZC0tcmV0dXJuaW5nIHZhbHVlOiBbIiIgKG5ubWFpbGRpciAi IiAoZGlyZWN0b3J5ICJ+L24ybWQiKSAoY3JlYXRlLWRpcmVjdG9yeSAiLi4vbmV3X21kIikgKGRp cmVjdG9yeS1maWxlcyBubmhlYWRlci1kaXJlY3RvcnktZmlsZXMtc2FmZSkgKGdldC1uZXctbWFp bCB0KSkgIi9leHBvcnQvaG9tZS9yZWFkZXIvbjJtZC8iIG5uaGVhZGVyLWRpcmVjdG9yeS1maWxl cy1zYWZlIFswIGNvbXBcLmVkaXRvcnMgbWlzYyAwIDAgMCBjb21wXC5zZWN1cml0eVwuc3NoIGNv bXBcLnVuaXhcLnNvbGFyaXMgY29tcFwudW5peFwucXVlc3Rpb25zIDAgMCAwIGdudVwuZW1hY3Nc LmhlbHAgY29tcFwubWFpbFwubWlzYyBjb21wXC5lbWFjcyAwIG1haWxpbmdcLmZyZWVic2RcLm5l dCAwIG1haWxpbmdcLmZyZWVic2RcLnNlY3VyaXR5IG1haWxpbmdcLmZyZWVic2RcLnF1ZXN0aW9u cyAwIGNvbXBcLnVuaXhcLnNoZWxsIDAgMCAwIDAgYWx0XC5zb2xhcmlzXC54ODYgZ251XC5lbWFj c1wuZ251cyBjb21wXC5vc1wubGludXhcLnNlY3VyaXR5IDAgbWFpbGluZ1wuZnJlZWJzZFwuc3Rh YmxlXSBuaWwgWyJtaXNjIiAibm5tYWlsZGlyOm1pc2MiICgxNTM5MCAxMzIxOSkgKDE1MzkxIDIx NzM4KSBbbmlsIFswXSBbMF0gbmlsXSBbbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAwIFswXV0gIk5vIHN1Y2ggZ3JvdXA6IHRl c3RzIiAoMTUzOTEgMzU2MjQpIHQgIi4uL25ld19tZCJdCiAgKG9yIChzZXRxIHNlcnZlciBubm1h aWxkaXItLWN1ci1zZXJ2ZXIpICh0aHJvdyAocXVvdGUgcmV0dXJuKSBuaWwpKQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1yZXR1cm5p bmcgdmFsdWU6IFsiIiAobm5tYWlsZGlyICIiIChkaXJlY3RvcnkgIn4vbjJtZCIpIChjcmVhdGUt ZGlyZWN0b3J5ICIuLi9uZXdfbWQiKSAoZGlyZWN0b3J5LWZpbGVzIG5uaGVhZGVyLWRpcmVjdG9y eS1maWxlcy1zYWZlKSAoZ2V0LW5ldy1tYWlsIHQpKSAiL2V4cG9ydC9ob21lL3JlYWRlci9uMm1k LyIgbm5oZWFkZXItZGlyZWN0b3J5LWZpbGVzLXNhZmUgWzAgY29tcFwuZWRpdG9ycyBtaXNjIDAg MCAwIGNvbXBcLnNlY3VyaXR5XC5zc2ggY29tcFwudW5peFwuc29sYXJpcyBjb21wXC51bml4XC5x dWVzdGlvbnMgMCAwIDAgZ251XC5lbWFjc1wuaGVscCBjb21wXC5tYWlsXC5taXNjIGNvbXBcLmVt YWNzIDAgbWFpbGluZ1wuZnJlZWJzZFwubmV0IDAgbWFpbGluZ1wuZnJlZWJzZFwuc2VjdXJpdHkg bWFpbGluZ1wuZnJlZWJzZFwucXVlc3Rpb25zIDAgY29tcFwudW5peFwuc2hlbGwgMCAwIDAgMCBh bHRcLnNvbGFyaXNcLng4NiBnbnVcLmVtYWNzXC5nbnVzIGNvbXBcLm9zXC5saW51eFwuc2VjdXJp dHkgMCBtYWlsaW5nXC5mcmVlYnNkXC5zdGFibGVdIG5pbCBbIm1pc2MiICJubm1haWxkaXI6bWlz YyIgKDE1MzkwIDEzMjE5KSAoMTUzOTEgMjE3MzgpIFtuaWwgWzBdIFswXSBuaWxdIFtuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxd IDAgWzBdXSAiTm8gc3VjaCBncm91cDogdGVzdHMiICgxNTM5MSAzNTYyNCkgdCAiLi4vbmV3X21k Il0KICAoaWYgKG51bGwgc2VydmVyKSAob3IgKHNldHEgc2VydmVyIG5ubWFpbGRpci0tY3VyLXNl cnZlcikgKHRocm93IC4uLiBuaWwpKSAob3IgKHNldHEgc2VydmVyIC4uLikgKHRocm93IC4uLiBu aWwpKSAoc2V0cSBzZXJ2ZXIgKHN5bWJvbC12YWx1ZSBzZXJ2ZXIpIG5ubWFpbGRpci0tY3VyLXNl cnZlciBzZXJ2ZXIpKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpE ZWJ1Z2dlciBlbnRlcmVkLS1iZWdpbm5pbmcgZXZhbHVhdGlvbiBvZiBmdW5jdGlvbiBjYWxsIGZv cm06CiogKHNldHEgZ3JvdXBzIChubm1haWxkaXItLXNydi1nZXQtZ3JvdXBzIHNlcnZlcikpCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQt LWJlZ2lubmluZyBldmFsdWF0aW9uIG9mIGZ1bmN0aW9uIGNhbGwgZm9ybToKKiAobm5tYWlsZGly LS1zcnYtZ2V0LWdyb3VwcyBzZXJ2ZXIpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQtLWVudGVyaW5nIGEgZnVuY3Rpb246CiogKGxhbWJk YSAoc2VydmVyKSAoXGAgKGFyZWYgLi4uIDQpKSkoc2VydmVyKQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1iZWdpbm5pbmcgZXZhbHVh dGlvbiBvZiBmdW5jdGlvbiBjYWxsIGZvcm06CiogKFxgIChhcmVmIChcLCBzZXJ2ZXIpIDQpKQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVk LS1lbnRlcmluZyBhIGZ1bmN0aW9uOgoqICNbKGFyZykgIsEIIUGHIiBbYXJnIGJhY2txdW90ZS1w cm9jZXNzXSAyIDY2MzQ3Nl0oKGFyZWYgKFwsIHNlcnZlcikgNCkpCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQtLWVudGVyaW5nIGEgZnVu Y3Rpb246CiogYmFja3F1b3RlLXByb2Nlc3MoKGFyZWYgKFwsIHNlcnZlcikgNCkpCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQtLWVudGVy aW5nIGEgZnVuY3Rpb246CiogdmVjdG9ycCgoYXJlZiAoXCwgc2VydmVyKSA0KSkKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKRGVidWdnZXIgZW50ZXJlZC0tcmV0dXJu aW5nIHZhbHVlOiBuaWwKICB2ZWN0b3JwKChhcmVmIChcLCBzZXJ2ZXIpIDQpKQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1lbnRlcmlu ZyBhIGZ1bmN0aW9uOgoqIGJhY2txdW90ZS1wcm9jZXNzKGFyZWYpCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KCioqKiogU2tpcHBpbmcgYWhlYWQgd2l0aCBjIGxvb2tl ZCBsaWtlIGFsb3Qgb2YgcmVwZWF0ZWQgc3R1ZmYKCkRlYnVnZ2VyIGVudGVyZWQtLXJldHVybmlu ZyB2YWx1ZTogbmlsCiAgKGNhdGNoIChxdW90ZSByZXR1cm4pIChzZXRxIHggbm5tYWlsZGlyLS10 bXAtc2VydmVyKSAod2hlbiB4IChzZXQgLi4uIHgpIChzZXRxIG5ubWFpbGRpci0tdG1wLXNlcnZl ciBuaWwpKSAoaWYgKG51bGwgc2VydmVyKSAob3IgLi4uIC4uLikgKG9yIC4uLiAuLi4pIChzZXRx IHNlcnZlciAuLi4gbm5tYWlsZGlyLS1jdXItc2VydmVyIHNlcnZlcikpIChzZXRxIGdyb3VwcyAo bm5tYWlsZGlyLS1zcnYtZ2V0LWdyb3VwcyBzZXJ2ZXIpKSAoaWYgZ3JvdXBzIG5pbCAodGhyb3cg Li4uIG5pbCkpIChpZiAobm5tYWlsZGlyLS1zcnYtZ2V0LW1ldGhvZCBzZXJ2ZXIpIG5pbCAoc2V0 cSB4IC4uLiB4IC4uLikgKGlmIHggbmlsIC4uLikgKG5ubWFpbGRpci0tc3J2LXNldC1tZXRob2Qg c2VydmVyIHgpKSAoc2V0cSB4IChubm1haWxkaXItLXNydi1nZXQtdG1wZ3JwIHNlcnZlcikpICh3 aGVuIHggKHNldCAuLi4geCkgKG5ubWFpbGRpci0tc3J2LXNldC10bXBncnAgc2VydmVyIG5pbCkp IChpZiAobnVsbCBncm91cCkgKG9yIC4uLiAuLi4pIChzZXRxIGdyb3VwIC4uLikgKGlmIGdyb3Vw IG5pbCAuLi4pIChzZXRxIGdyb3VwIC4uLikpIChubm1haWxkaXItLWxpc3RzLWZpeCAobm5tYWls ZGlyLS1ncnAtZ2V0LWxpc3RzIGdyb3VwKSkgZ3JvdXApCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVyZWQtLXJldHVybmluZyB2YWx1ZTogbmls CiAgKGxldCAoeCBncm91cHMpIChjYXRjaCAocXVvdGUgcmV0dXJuKSAoc2V0cSB4IG5ubWFpbGRp ci0tdG1wLXNlcnZlcikgKHdoZW4geCAuLi4gLi4uKSAoaWYgLi4uIC4uLiAuLi4gLi4uKSAoc2V0 cSBncm91cHMgLi4uKSAoaWYgZ3JvdXBzIG5pbCAuLi4pIChpZiAuLi4gbmlsIC4uLiAuLi4gLi4u KSAoc2V0cSB4IC4uLikgKHdoZW4geCAuLi4gLi4uKSAoaWYgLi4uIC4uLiAuLi4gLi4uIC4uLikg KG5ubWFpbGRpci0tbGlzdHMtZml4IC4uLikgZ3JvdXApKQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1yZXR1cm5pbmcgdmFsdWU6IG5p bAogIG5ubWFpbGRpci0tcHJlcGFyZShuaWwgInRlc3RzIikKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQoKRGVidWdnZXIgZW50ZXJlZC0tYmVnaW5uaW5nIGV2YWx1YXRp b24gb2YgZnVuY3Rpb24gY2FsbCBmb3JtOgoqIChjYXRjaCAocXVvdGUgcmV0dXJuKSAoaWYgZ3Jv dXAgbmlsIChubm1haWxkaXItLXNydi1zZXQtZXJyb3Igbm5tYWlsZGlyLS1jdXItc2VydmVyIC4u LikgKHRocm93IC4uLiBuaWwpKSAoc2V0cSBnbmFtZSAobm5tYWlsZGlyLS1ncnAtZ2V0LW5hbWUg Z3JvdXApKSAod2hlbiAobm5tYWlsZGlyLS1wYXJhbSAuLi4gLi4uKSAobm5tYWlsZGlyLS1zcnYt c2V0LWVycm9yIG5ubWFpbGRpci0tY3VyLXNlcnZlciAuLi4pICh0aHJvdyAuLi4gbmlsKSkgKHNl dHEgc3J2LWRpciAobm5tYWlsZGlyLS1zcnYtZ2V0LWRpciBubm1haWxkaXItLWN1ci1zZXJ2ZXIp IGRpciAobm5tYWlsZGlyLS1zcnYtZ3JwLWRpciBzcnYtZGlyIGduYW1lKSBmaWxlIChmb3JtYXQt dGltZS1zdHJpbmcgIiVzIiBuaWwpKSAoaWYgKHN0cmluZz0gbm5tYWlsZGlyLS1kZWxpdmVyeS10 aW1lIGZpbGUpIG5pbCAoc2V0cSBubm1haWxkaXItLWRlbGl2ZXJ5LXRpbWUgZmlsZSBubm1haWxk aXItLWRlbGl2ZXJ5LWN0IDApKSAoc2V0cSBmaWxlIChjb25jYXQgZmlsZSAiLiIgbm5tYWlsZGly LS1kZWxpdmVyeS1waWQpKSAoaWYgKHplcm9wIG5ubWFpbGRpci0tZGVsaXZlcnktY3QpIG5pbCAo c2V0cSBmaWxlIC4uLikpIChzZXRxIGZpbGUgKGNvbmNhdCBmaWxlICIuIiAuLi4pIHRtcGZpbGUg KGNvbmNhdCAuLi4gZmlsZSkgY3VyZmlsZSAoY29uY2F0IC4uLiBmaWxlICI6MiwiKSkgKHdoZW4g KGZpbGUtZXhpc3RzLXAgdG1wZmlsZSkgKG5ubWFpbGRpci0tc3J2LXNldC1lcnJvciBubm1haWxk aXItLWN1ci1zZXJ2ZXIgLi4uKSAodGhyb3cgLi4uIG5pbCkpICh3aGVuIChmaWxlLWV4aXN0cy1w IGN1cmZpbGUpIChubm1haWxkaXItLXNydi1zZXQtZXJyb3Igbm5tYWlsZGlyLS1jdXItc2VydmVy IC4uLikgKHRocm93IC4uLiBuaWwpKSAoc2V0cSBubm1haWxkaXItLWRlbGl2ZXJ5LWN0ICgxKyBu bm1haWxkaXItLWRlbGl2ZXJ5LWN0KSAyNGggKHJ1bi13aXRoLXRpbWVyIDg2NDAwIG5pbCAuLi4p KSAoY29uZGl0aW9uLWNhc2UgbmlsIChhZGQtbmFtZS10by1maWxlIG5ubWFpbGRpci0tZmlsZSB0 bXBmaWxlKSAoZXJyb3IgLi4uIC4uLikpIChjYW5jZWwtdGltZXIgMjRoKSAoY29uZGl0aW9uLWNh c2UgZXJyIChhZGQtbmFtZS10by1maWxlIHRtcGZpbGUgY3VyZmlsZSkgKGVycm9yIC4uLiAuLi4g Li4uKSkgKG5ubWFpbGRpci0tdW5saW5rIHRtcGZpbGUpIChzZXRxIGFydGljbGUgKG5ubWFpbGRp ci0tYXJ0LW5ldykgbnVtIChubm1haWxkaXItLWdycC1nZXQtbGlzdHMgZ3JvdXApIG51bSAobm5t YWlsZGlyLS1saXN0cy1nZXQtbmxpc3QgbnVtKSBudW0gKDErIC4uLikpIChubm1haWxkaXItLWFy dC1zZXQtcHJlZml4IGFydGljbGUgZmlsZSkgKG5ubWFpbGRpci0tYXJ0LXNldC1zdWZmaXggYXJ0 aWNsZSAiOjIsIikgKG5ubWFpbGRpci0tYXJ0LXNldC1udW0gYXJ0aWNsZSBudW0pIChpZiAobm5t YWlsZGlyLS1ncnAtYWRkLWFydCBzcnYtZGlyIGdyb3VwIGFydGljbGUpIChjb25zIGduYW1lIG51 bSkpKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBl bnRlcmVkLS1iZWdpbm5pbmcgZXZhbHVhdGlvbiBvZiBmdW5jdGlvbiBjYWxsIGZvcm06CiogKHF1 b3RlIHJldHVybikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKRGVi dWdnZXIgZW50ZXJlZC0tcmV0dXJuaW5nIHZhbHVlOiByZXR1cm4KICAocXVvdGUgcmV0dXJuKQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVk LS1iZWdpbm5pbmcgZXZhbHVhdGlvbiBvZiBmdW5jdGlvbiBjYWxsIGZvcm06CiogKGlmIGdyb3Vw IG5pbCAobm5tYWlsZGlyLS1zcnYtc2V0LWVycm9yIG5ubWFpbGRpci0tY3VyLXNlcnZlciAoY29u Y2F0ICJObyBzdWNoIGdyb3VwOiAiIGduYW1lKSkgKHRocm93IChxdW90ZSByZXR1cm4pIG5pbCkp Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkRlYnVnZ2VyIGVudGVy ZWQtLWJlZ2lubmluZyBldmFsdWF0aW9uIG9mIGZ1bmN0aW9uIGNhbGwgZm9ybToKKiAobm5tYWls ZGlyLS1zcnYtc2V0LWVycm9yIG5ubWFpbGRpci0tY3VyLXNlcnZlciAoY29uY2F0ICJObyBzdWNo IGdyb3VwOiAiIGduYW1lKSkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQoKRGVidWdnZXIgZW50ZXJlZC0tZW50ZXJpbmcgYSBmdW5jdGlvbjoKKiAobGFtYmRhIChzZXJ2 ZXIgdmFsKSAoXGAgKGFzZXQgLi4uIDcgLi4uKSkpKG5ubWFpbGRpci0tY3VyLXNlcnZlciAoY29u Y2F0ICJObyBzdWNoIGdyb3VwOiAiIGduYW1lKSkKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQoKRGVidWdnZXIgZW50ZXJlZC0tYmVnaW5uaW5nIGV2YWx1YXRpb24gb2Yg ZnVuY3Rpb24gY2FsbCBmb3JtOgoqIChcYCAoYXNldCAoXCwgc2VydmVyKSA3IChcLCB2YWwpKSkK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKRGVidWdnZXIgZW50ZXJl ZC0tZW50ZXJpbmcgYSBmdW5jdGlvbjoKKiAjWyhhcmcpICLBCCFBhyIgW2FyZyBiYWNrcXVvdGUt cHJvY2Vzc10gMiA2NjM0NzZdKChhc2V0IChcLCBzZXJ2ZXIpIDcgKFwsIHZhbCkpKQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpEZWJ1Z2dlciBlbnRlcmVkLS1lbnRl cmluZyBhIGZ1bmN0aW9uOgoqIGJhY2txdW90ZS1wcm9jZXNzKChhc2V0IChcLCBzZXJ2ZXIpIDcg KFwsIHZhbCkpKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoK --=-=-=--