From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Langhoff Subject: Re: arch2git import script Date: Wed, 24 Aug 2005 01:13:48 +1200 Message-ID: <46a038f90508230613527c11c8@mail.gmail.com> References: <46a038f90508230611337c695e@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_358_2011949.1124802828530" X-From: git-owner@vger.kernel.org Tue Aug 23 15:16:01 2005 Return-path: Received: from vger.kernel.org ([209.132.176.167]) by ciao.gmane.org with esmtp (Exim 4.43) id 1E7YbC-0001VL-47 for gcvg-git@gmane.org; Tue, 23 Aug 2005 15:13:54 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932088AbVHWNNu (ORCPT ); Tue, 23 Aug 2005 09:13:50 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751016AbVHWNNu (ORCPT ); Tue, 23 Aug 2005 09:13:50 -0400 Received: from rproxy.gmail.com ([64.233.170.197]:64239 "EHLO rproxy.gmail.com") by vger.kernel.org with ESMTP id S1750789AbVHWNNt (ORCPT ); Tue, 23 Aug 2005 09:13:49 -0400 Received: by rproxy.gmail.com with SMTP id i8so1152123rne for ; Tue, 23 Aug 2005 06:13:48 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=XZgvMx1FQO5euwyvjTKdCCFgQYvdq+bpwG2afZhMqz2FFq09MVU+RTlhVRF9cAdT7vfTy5Q8hSGqLu4TEij9OMQyXyjjBAr92FIjxI9bnUc6aj9dB4HA7ZnH2F1wXqB/whHnCJp5pgjrHMS9V00RKwLMjLYS9xgCm8jII3+DkAQ= Received: by 10.38.88.28 with SMTP id l28mr416119rnb; Tue, 23 Aug 2005 06:13:48 -0700 (PDT) Received: by 10.38.101.8 with HTTP; Tue, 23 Aug 2005 06:13:48 -0700 (PDT) To: GIT , Catalin Marinas In-Reply-To: <46a038f90508230611337c695e@mail.gmail.com> Sender: git-owner@vger.kernel.org Precedence: bulk X-Mailing-List: git@vger.kernel.org ------=_Part_358_2011949.1124802828530 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On 8/24/05, Martin Langhoff wrote: > First draft of an Arch import.=20 And now, with sample script attached, too.=20 cheers, martin ------=_Part_358_2011949.1124802828530 Content-Type: application/octet-stream; name="git-archimport-script" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="git-archimport-script" IyEvdXNyL2Jpbi9wZXJsIC13CgojIFRoaXMgdG9vbCBpcyBjb3B5cmlnaHQgKGMpIDIwMDUsIE1h dHRoaWFzIFVybGljaHMuCiMgSXQgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIEdudSBQdWJsaWMgTGlj ZW5zZSwgdmVyc2lvbiAyLgojCiMgVGhlIGJhc2ljIGlkZWEgaXMgdG8gd2FsayB0aGUgb3V0cHV0 IG9mIHRsYSBhYnJvd3NlLCAKIyBmZXRjaCB0aGUgY2hhbmdlc2V0cyBhbmQgYXBwbHkgdGhlbS4g CiMKCiMgVGhlIGhlYWQgcmV2aXNpb24gaXMgb24gYnJhbmNoICJvcmlnaW4iIGJ5IGRlZmF1bHQu CiMgWW91IGNhbiBjaGFuZ2UgdGhhdCB3aXRoIHRoZSAnLW8nIG9wdGlvbi4KCnVzZSBzdHJpY3Q7 CnVzZSB3YXJuaW5nczsKdXNlIEdldG9wdDo6U3RkOwp1c2UgRmlsZTo6U3BlYzsKdXNlIEZpbGU6 OlRlbXAgcXcodGVtcGZpbGUpOwp1c2UgRmlsZTo6UGF0aCBxdyhta3BhdGgpOwp1c2UgRmlsZTo6 QmFzZW5hbWUgcXcoYmFzZW5hbWUgZGlybmFtZSk7CnVzZSBUaW1lOjpMb2NhbDsKdXNlIElPOjpT b2NrZXQ7CnVzZSBJTzo6UGlwZTsKdXNlIFBPU0lYIHF3KHN0cmZ0aW1lIGR1cDIpOwp1c2UgRGF0 YTo6RHVtcGVyIHF3LyBEdW1wZXIgLzsKdXNlIElQQzo6T3BlbjI7CgokU0lHeydQSVBFJ309IklH Tk9SRSI7CiRFTlZ7J1RaJ309IlVUQyI7CgpvdXIoJG9wdF9oLCRvcHRfQSwkb3B0X3YsJG9wdF9r LAogICAgJG9wdF9kLCRvcHRfcCwkb3B0X0MsJG9wdF96LAogICAgJG9wdF9pLCRvcHRfdCk7Cgpz dWIgdXNhZ2UoKSB7CglwcmludCBTVERFUlIgPDxFTkQ7ClVzYWdlOiAke1xiYXNlbmFtZSAkMH0g ICAgICMgZmV0Y2gvdXBkYXRlIEdJVCBmcm9tIEFyY2gKICAgICAgIFsgLWggXSBbIC12IF0gWyAt QSBhcmNoaXZlIF0KICAgICAgIFsgLUMgR0lUX3JlcG9zaXRvcnkgXSBbIC10IHRlbXBkaXIgXSAK ICAgICAgIFsgYXJjaC1icmFuY2ggXQpFTkQKCWV4aXQoMSk7Cn0KCmdldG9wdHMoImh2aUE6Qzp0 OiIpIG9yIHVzYWdlKCk7CnVzYWdlIGlmICRvcHRfaDsKCkBBUkdWIDw9IDEgb3IgdXNhZ2UoKTsK CgpteSAkdG1wID0gJG9wdF90OwokdG1wIHx8PSAnL3RtcCc7CiR0bXAgLj0gJy9naXQtYXJjaGlt cG9ydC8nOwoKbXkgJGdpdF90cmVlID0gJG9wdF9DOwokZ2l0X3RyZWUgfHw9ICIuIjsKCm15ICRh cmNoX2JyYW5jaCA9ICcnOwppZiAoJCNBUkdWID09IDApIHsKCSRhcmNoX2JyYW5jaCA9ICRBUkdW WzBdOwp9IAoKIyBUT0RPOiBoYW5kbGUgbW9yZSB0aGFuIG9uZSByZXBvCm9wZW4gQUJST1dTRSwg InRsYSBhYnJvd3NlIC1mIC1BICRvcHRfQSAtLWRlc2MgLS1tZXJnZXMgJGFyY2hfYnJhbmNoIHwi IAogICAgb3IgZGllICJQcm9ibGVtcyB3aXRoIHRsYSBhYnJvd3NlOiAkISI7CgpteSBAcHNldHMg ID0gKCk7ICMgdGhlIGNvbGxlY3Rpb24KbXkgJXBzICAgICAgICA9ICgpOyAjIHRoZSBjdXJyZW50 IG9uZQpteSAkbW9kZSAgICAgID0gJyc7Cm15ICRsYXN0c2VlbiAgPSAnJzsKCndoaWxlICg8QUJS T1dTRT4pIHsKICAgIGNob21wOwoKICAgICMgZmlyc3QgcmVjb3JkIHBhZGRlZCB3IDggc3BhY2Vz CiAgICBpZiAocy9eXHN7OH1cYi8vKSB7CgkKCSMgc3RvcmUgdGhlIHJlY29yZCB3ZSBqdXN0IGNh cHR1cmVkCglpZiAoJXBzKSB7CgkgICAgbXkgJXRlbXAgPSAlcHM7ICMgYnJlYWsgcmVmZXJlbmNl cwoJICAgIHB1c2ggKEBwc2V0cywgXCV0ZW1wKTsKCSAgICAlcHMgPSAoKTsKCX0KCglteSAoJGlk LCAkdHlwZSkgPSBzcGxpdChtL1xzezN9LywgJF8pOwoJJHBze2lkfSA9ICRpZDsKCQoJIyBkZWFs IHdpdGggdHlwZXMKCWlmICgkdHlwZSA9fiBtL15cKHNpbXBsZSBjaGFuZ2VzZXRcKS8pIHsKCSAg ICAkcHN7dHlwZX0gPSAncyc7Cgl9IGVsc2lmICgkdHlwZSBlcSAnKGluaXRpYWwgaW1wb3J0KScp IHsKCSAgICAkcHN7dHlwZX0gPSAnaSc7Cgl9IGVsc2lmICgkdHlwZSA9fiBtL15cKHRhZyByZXZp c2lvbiBvZiAoLispXCkvKSB7CgkgICAgJHBze3R5cGV9ID0gJ3QnOwoJICAgICRwc3t0YWd9ICA9 ICQxOwoJfSBlbHNlIHsgCgkgICAgd2FybiAiVW5rbm93biB0eXBlICR0eXBlIjsKCX0KCSRsYXN0 c2VlbiA9ICdpZCc7CiAgICB9CgogICAgaWYgKHMvXlxzezEwfS8vKSB7IAogICAgICAgICMgMTAg bGVhZGluZyBzcGFjZXMgb3IgbW9yZSAKCSMgaW5kaWNhdGUgY29tbWl0IG1ldGFkYXRhCgoJIyBk YXRlICYgYXV0aG9yIAoJaWYgKCRsYXN0c2VlbiBlcSAnaWQnICYmIG0vXlxkezR9LVxkezJ9LVxk ezJ9LykgewoKCSAgICBteSAoJGRhdGUsICRhdXRob3JlbWFpbCkgPSBzcGxpdChtL1xzezIsfS8s ICRfKTsKCSAgICAkcHN7ZGF0ZX0gICA9ICIrMDAwMCAkZGF0ZSI7CgoJICAgICRhdXRob3JlbWFp bCA9fiBtL14oLispXHMoXFMrKSQvOwoJICAgICRwc3thdXRob3J9ID0gJDE7CgkgICAgJHBze2Vt YWlsfSAgPSAkMjsKCgkgICAgJGxhc3RzZWVuID0gJ2RhdGUnOwoKCX0gZWxzaWYgKCRsYXN0c2Vl biBlcSAnZGF0ZScpIHsKCSAgICAjIHRoZSBvbmx5IGhpbnQgaXMgcG9zaXRpb24KCSAgICAjIHN1 YmplY3QgaXMgYWZ0ZXIgZGF0ZQoJICAgICRwc3tzdWJqfSA9ICRfOwoJICAgICRsYXN0c2VlbiA9 ICdzdWJqJzsKCgl9IGVsc2lmICgkbGFzdHNlZW4gZXEgJ3N1YmonICYmICRfIGVxICdtZXJnZXMg aW46JykgewoJICAgICRwc3ttZXJnZXN9ID0gW107CgkgICAgJGxhc3RzZWVuID0gJ21lcmdlcyc7 CgoJfSBlbHNpZiAoJGxhc3RzZWVuIGVxICdtZXJnZXMnICYmIHMvXlxzezJ9Ly8pIHsKCSAgICBw dXNoIChAeyRwc3ttZXJnZXN9fSwgJF8pOwoJfSBlbHNlIHsKCSAgICB3YXJuICdtb3JlIG1ldGFk YXRhIGFmdGVyIG1lcmdlcyE/JzsKCX0KCiAgICB9Cn0KaWYgKCVwcykgewogICAgbXkgJXRlbXAg PSAlcHM7ICMgYnJlYWsgcmVmZXJlbmNlcwogICAgcHVzaCAoQHBzZXRzLCBcJXRlbXApOwogICAg JXBzID0gKCk7Cn0KCmNsb3NlIEFCUk9XU0U7CgojIyBPcmRlciBwYXRjaGVzIGJ5IHRpbWUKQHBz ZXRzID0gc29ydCB7JGEtPntkYXRlfS4kYi0+e2lkfSBjbXAgJGItPntkYXRlfS4kYi0+e2lkfX0g QHBzZXRzOwoKI3ByaW50IER1bXBlciBcQHBzZXRzOwoKIyMKIyMgVE9ETyBjbGVhbnVwIGlycmVs ZXZhbnQgcGF0Y2hlcwojIyAgICAgIGFuZCBwdXQgYW4gaW5pdGlhbCBpbXBvcnQKIyMgICAgICBv ciBhIGZ1bGwgdGFnCgppZiAoJG9wdF9pKSB7ICMgaW5pdGlhbCBpbXBvcnQgCiAgICBpZiAoJHBz ZXRzWzBde3R5cGV9IGVxICdpJyB8fCAkcHNldHNbMF17dHlwZX0gZXEgJ3QnKSB7CglwcmludCAi U3RhcnRpbmcgaW1wb3J0IGZyb20gJHBzZXRzWzBde2lkfVxuIjsKICAgIH0gZWxzZSB7CglkaWUg Ik5lZWQgdG8gc3RhcnQgZnJvbSBhbiBpbXBvcnQgb3IgYSB0YWcgLS0gY2Fubm90IHVzZSAkcHNl dHNbMF17aWR9IjsKICAgIH0KICAgIGBnaXQtaW5pdC1kYmA7CiAgICBkaWUgJCEgaWYgJD87Cn0K CiMgcHJvY2VzcwpteSAkbGFzdGJyYW5jaCA9IGJyYW5jaG5hbWUoJHBzZXRzWzBde2lkfSk7ICMg b25seSBnb29kIGZvciBpbml0aWFsIGltcG9ydAoKZm9yZWFjaCBteSAkcHMgKEBwc2V0cykgewoK ICAgICRwcy0+e2JyYW5jaH0gPSAgYnJhbmNobmFtZSgkcHMtPntpZH0pOwoKICAgICMKICAgICMg ZW5zdXJlIHdlIGhhdmUgYSBjbGVhbiBzdGF0ZSAKICAgICMgCiAgICBpZiAoYGdpdCBkaWZmLWZp bGVzYCl7CglkaWUgIlVuY2xlYW4gdHJlZSB3aGVuIGFib3V0IHRvIHByb2Nlc3MgJHBzLT57aWR9 ICIgLgoJICAgICIgLSBkaWQgd2UgZmFpbCB0byBjb21taXQgY2xlYW5seSBiZWZvcmU/IjsKICAg IH0KICAgIGRpZSAkISBpZiAkPzsKCiAgICAjIAogICAgIyBjcmVhdGUgdGhlIGJyYW5jaCBpZiBu ZWVkZWQKICAgICMgVE9ETzogRmluZCB0aGUgYW5jZXN0b3IhCiAgICAjCiAgICB1bmxlc3MgKCAt ZSAiLmdpdC9yZWZzL2hlYWRzLyRwcy0+e2JyYW5jaH0iKSB7CglgZ2l0IGNoZWNrb3V0IC1iICRw cy0+e2JyYW5jaH1gOwogICAgfSBlbHNlIHsKCWBnaXQgY2hlY2tvdXQgICAgJHBzLT57YnJhbmNo fWA7CiAgICB9CiAgICBkaWUgJCEgaWYgJD87CgogICAgIwogICAgIyBBcHBseSB0aGUgaW1wb3J0 L2NoYW5nZXNldC9tZXJnZSBpbnRvIHRoZSB3b3JraW5nIHRyZWUKICAgICMgCiAgICBpZiAoJHBz LT57dHlwZX0gZXEgJ2knKSB7CglhcHBseV9pbXBvcnQoJHBzKSBvciBkaWUgJCE7CiAgICB9IGVs c2lmICgkcHMtPnt0eXBlfSBlcSAncycpIHsKCWFwcGx5X2NzZXQoJHBzKTsKICAgIH0KCiAgICAj CiAgICAjIHByZXBhcmUgdXBkYXRlIGdpdCdzIGluZGV4LCBiYXNlZCBvbiB3aGF0IGFyY2gga25v d3MKICAgICMgYWJvdXQgdGhlIHBzZXQsIHJlc29sdmUgcGFyZW50cywgZXRjCiAgICAjCgogICAg IyA9Zm9yIHJlZmVyZW5jZQogICAgIyBBIGxvZyBlbnRyeSBsb29rcyBsaWtlIAogICAgIyBSZXZp c2lvbjogbW9vZGxlLW9yZy0tbW9vZGxlLS0xLjMuMy0tcGF0Y2gtMTUKICAgICMgQXJjaGl2ZTog YXJjaC1lZHVmb3JnZUBjYXRhbHlzdC5uZXQubnotLTIwMDQKIyBDcmVhdG9yOiBQZW5ueSBMZWFj aCA8cGVubnlAY2F0YWx5c3QubmV0Lm56PgojIERhdGU6IFdlZCBNYXkgMjUgMTQ6MTU6MzQgTlpT VCAyMDA1CiMgU3RhbmRhcmQtZGF0ZTogMjAwNS0wNS0yNSAwMjoxNTozNCBHTVQKIyBOZXctZmls ZXM6IGxhbmcvZGUvLmFyY2gtaWRzL2Jsb2NrX2dsb3NzYXJ5X3JhbmRvbS5waHAuaWQKIyAgICAg bGFuZy9kZS8uYXJjaC1pZHMvYmxvY2tfaHRtbC5waHAuaWQKIyBOZXctZGlyZWN0b3JpZXM6IGxh bmcvZGUvaGVscC9xdWVzdGlvbm5haXJlCiMgICAgIGxhbmcvZGUvaGVscC9xdWVzdGlvbm5haXJl Ly5hcmNoLWlkcwojIFJlbW92ZWQtZmlsZXM6IGxhbmcvYmUvZG9jcy8uYXJjaC1pZHMvcmVsZWFz ZS5odG1sLmlkCiMgICAgIGxhbmcvYmUvZG9jcy8uYXJjaC1pZHMvcmVsZWFzZW9sZC5odG1sLmlk CiMgTW9kaWZpZWQtZmlsZXM6IGFkbWluL2Nyb24ucGhwIGFkbWluL2RlbGV0ZS5waHAKIyAgICAg YWRtaW4vZWRpdG9yLmh0bWwgYmFja3VwL2xpYi5waHAgYmFja3VwL3Jlc3RvcmUucGhwCiMgTmV3 LXBhdGNoZXM6IGFyY2gtZWR1Zm9yZ2VAY2F0YWx5c3QubmV0Lm56LS0yMDA0L21vb2RsZS1vcmct LW1vb2RsZS0tMS4zLjMtLXBhdGNoLTE1CiMgU3VtbWFyeTogVXBkYXRpbmcgdG8gbGF0ZXN0IGZy b20gTU9PRExFXzE0X1NUQUJMRSAoMS40LjUrKQojIEtleXdvcmRzOgojCiMgVXBkYXRpbmcgeWFk ZGEgdGFkZGEgdGFkZGEgbWFkZGEKCiAgICBteSAoJGxvZ3N1bW1hcnksICRsb2dtZXNzYWdlLCAk dHJlZSk7CiAgICB7ICMgc2NvcGUgYmxvY2sgZm9yIHNvbWUgdmFycwoJbXkgJGNvbW1pdGxvZyA9 IGB0bGEgY2F0LWFyY2hpdmUtbG9nIC1BICRvcHRfQSAkcHMtPntpZH1gOyAKCWRpZSAiRXJyb3Ig aW4gY2F0LWFyY2hpdmUtbG9nOiAkISIgaWYgJD87CgkKCSMgcHJvY2Vzc19jb21taXRsb2cgd2ls bCBnaXQtYWRkL3JtIGZpbGVzCgkjIGFuZCBnZW5lcmFsbHkgcHJlcGFyZSB0aGluZ3MgZm9yIHRo ZSBjb21taXQJCgkkbG9nbWVzc2FnZSA9ICRjb21taXRsb2c7CgoJIyBhZGQgYWxsIHRoZSBmaWxl cywgcmUtYWRkcyB3aWxsIGJlIGlnbm9yZWQKCWBmaW5kIC4gLXR5cGUgZiAtcHJpbnQwIHwgZ3Jl cCAtenYgJ14uLy5naXQnIHwgeGFyZ3MgLTAgZ2l0LXVwZGF0ZS1jYWNoZSAtLWFkZGA7CgkjIHdh cm4gImVycm9ycyB3aGVuIHJ1bm5pZ24gZ2l0LXVwZGF0ZS1jYWNoZSEgJCEiOwoJJHRyZWUgPSBg Z2l0LXdyaXRlLXRyZWVgOwoJZGllICJjYW5ub3Qgd3JpdGUgdHJlZSAkISIgaWYgJD87CgljaG9t cCAkdHJlZTsKCQoJCgkKICAgIH0gIyBlbmQgc2NvcGUgYmxvY2sKICAgICMKICAgICMgQ29tbWl0 IGFuZCBjbGVhbiBzdGF0ZQogICAgIwogICAgbXkgQHBhcjsKICAgIGlmICggLWUgIi5naXQvcmVm cy9oZWFkcy8kcHMtPnticmFuY2h9Iil7CglpZiAob3BlbiBIRUFELCAiPC5naXQvcmVmcy9oZWFk cy8kcHMtPnticmFuY2h9IikgewoJICAgIG15ICRwID0gPEhFQUQ+OwoJICAgIGNsb3NlIEhFQUQ7 CgkgICAgY2hvbXAgJHA7CgkgICAgcHVzaCBAcGFyLCAnLXAnLCAkcDsKCX0gZWxzZSB7IAoJICAg IGlmICgkcHMtPnt0eXBlfSBlcSAncycpIHsKCQl3YXJuICJDb3VsZCBub3QgZmluZCB0aGUgcmln aHQgaGVhZCBmb3IgdGhlIGJyYW5jaCAkcHMtPnticmFuY2h9IjsKCSAgICB9Cgl9CiAgICB9CiAg ICBteSAkcGFyID0gam9pbiAoJyAnLCBAcGFyKTsKICAgICRFTlZ7R0lUX0FVVEhPUl9OQU1FfSAg ICAgPSAkcHMtPnthdXRob3J9OwogICAgJEVOVntHSVRfQVVUSE9SX0VNQUlMfSAgICA9ICRwcy0+ e2VtYWlsfTsKICAgICRFTlZ7R0lUX0NPTU1JVFRFUl9OQU1FfSAgPSAkcHMtPnthdXRob3J9Owog ICAgJEVOVntHSVRfQ09NTUlUVEVSX0VNQUlMfSA9ICRwcy0+e2VtYWlsfTsKICAgICRFTlZ7Q09N TUlUVEVSX0RBVEV9ICAgICAgPSAkcHMtPntkYXRlfTsKCiAgICBteSAoJHBpZCwgJGNvbW1pdF9y aCwgJGNvbW1pdF93aCk7CiAgICAkY29tbWl0X3JoID0gJ2NvbW1pdF9yaCc7CiAgICAkY29tbWl0 X3doID0gJ2NvbW1pdF93aCc7CiAgICAKICAgICRwaWQgPSBvcGVuMigqUkVBREVSLCAqV1JJVEVS LCAiZ2l0LWNvbW1pdC10cmVlICR0cmVlICRwYXIiKSAKCW9yIGRpZSAkITsKICAgIHByaW50IFdS SVRFUiAkbG9nbWVzc2FnZTsgIyB3cml0ZQogICAgY2xvc2UgV1JJVEVSOwogICAgbXkgJGNvbW1p dGlkID0gPFJFQURFUj47ICMgcmVhZAogICAgY2hvbXAgJGNvbW1pdGlkOwogICAgY2xvc2UgUkVB REVSOwogICAgd2FpdHBpZCAkcGlkLDA7ICAgICAgICAgICAjIGNsb3NlOwoKICAgIGlmIChsZW5n dGggJGNvbW1pdGlkICE9IDQwKSB7CglkaWUgIlNvbWV0aGluZyB3ZW50IHdyb25nIHdpdGggdGhl IGNvbW1pdCEgJCEgJGNvbW1pdGlkIjsKICAgIH0KICAgICMKICAgICMgVXBkYXRlIHRoZSBicmFu Y2gKICAgICMgCiAgICBvcGVuICBIRUFELCAiPi5naXQvcmVmcy9oZWFkcy8kcHMtPnticmFuY2h9 IjsKICAgIHByaW50IEhFQUQgJGNvbW1pdGlkOwogICAgY2xvc2UgSEVBRDsKICAgIHVubGluayAo Jy5naXQvSEVBRCcpOwogICAgc3ltbGluaygicmVmcy9oZWFkcy8kcHMtPnticmFuY2h9IiwiLmdp dC9IRUFEIik7CgogICAgcHJpbnQgIiAqIENvbW1pdHRlZCAkcHMtPntpZH1cbiI7Cgp9CgpzdWIg YnJhbmNobmFtZSB7CiAgICBteSAkaWQgPSBzaGlmdDsKICAgICRpZCA9fiBzI14uKz8vIyM7CiAg ICBteSBAcGFydHMgPSBzcGxpdChtLy0tLywgJGlkKTsKICAgIHJldHVybiBqb2luKCctLScsIEBw YXJ0c1swLi4xXSk7Cn0KCnN1YiBhcHBseV9pbXBvcnQgewogICAgbXkgJHBzID0gc2hpZnQ7CiAg IG15ICRibmFtZSA9IGJyYW5jaG5hbWUoJHBzLT57aWR9KTsKCiAgICBgbWtkaXIgLXAgJHRtcGA7 CgogICAgYHRsYSBnZXQgLXMgLS1uby1wcmlzdGluZSAtQSAkb3B0X0EgJHBzLT57aWR9ICR0bXAv aW1wb3J0YDsKICAgIGRpZSAiQ2Fubm90IGdldCBpbXBvcnQ6ICQhIiBpZiAkPzsKICAgIHByaW50 ICJyc3luYyAtLWFyY2hpdmUgLS1kZWxldGUgLS1leGNsdWRlICcuZ2l0JyAtLWV4Y2x1ZGUgJy5h cmNoLWlkcycgLS1leGNsdWRlICd7YXJjaH0nICR0bXAvaW1wb3J0LyogLi8iOwogICAgcHJpbnQg YHJzeW5jIC12IC0tYXJjaGl2ZSAtLWRlbGV0ZSAtLWV4Y2x1ZGUgJy5naXQnIC0tZXhjbHVkZSAn LmFyY2gtaWRzJyAtLWV4Y2x1ZGUgJ3thcmNofScgJHRtcC9pbXBvcnQvKiAuL2A7CiAgICBkaWUg IkNhbm5vdCByc3luYyBpbXBvcnQ6JCEiIGlmICQ/OwogICAgCiAgICBgcm0gLWZyICR0bXAvaW1w b3J0YDsKICAgIGRpZSAiQ2Fubm90IHJlbW92ZSB0ZW1wZGlyOiAkISIgaWYgJD87CiAgICAKCiAg ICByZXR1cm4gMTsKfQoKc3ViIGFwcGx5X2NzZXQgewogICAgbXkgJHBzID0gc2hpZnQ7CgogICAg YG1rZGlyIC1wICR0bXBgOwoKICAgICMgZ2V0IHRoZSBjaGFuZ2VzZXQKICAgIGB0bGEgZ2V0LWNo YW5nZXNldCAgLUEgJG9wdF9BICAkcHMtPntpZH0gJHRtcC9jaGFuZ2VzZXRgOwogICAgZGllICJD YW5ub3QgZ2V0IGNoYW5nZXNldDogJCEiIGlmICQ/OwogICAgCiAgICAjIGFwcGx5IHBhdGNoZXMK ICAgIGlmIChgZmluZCAkdG1wL2NoYW5nZXNldC9wYXRjaGVzIC10eXBlIGYgLW5hbWUgJyoucGF0 Y2gnYCkgewoJYChmaW5kICR0bXAvY2hhbmdlc2V0L3BhdGNoZXMgLXR5cGUgZiAtcHJpbnQwIC1u YW1lICcqLnBhdGNoJyB8IHhhcmdzIC0wIC0tbm8tcnVuLWlmLWVtcHR5IGNhdCApIHwgcGF0Y2gg LXAxIC0tdmVyYm9zZSAtLWZvcndhcmQgYDsKCWRpZSAiUHJvYmxlbSBhcHBseWluZyBwYXRjaGVz ISAkISIgaWYgJD87CiAgICB9CgogICAgIyBicmluZyBpbiBuZXcgZmlsZXMKICAgIGByc3luYyAt LWFyY2hpdmUgLS1leGNsdWRlICcuZ2l0JyAtLWV4Y2x1ZGUgJy5hcmNoLWlkcycgLS1leGNsdWRl ICd7YXJjaH0nICR0bXAvY2hhbmdlc2V0L25ldy1maWxlcy1hcmNoaXZlLyogLi9gOwoKICAgICMg ZGVsZXRlZCBmaWxlcyBhcmUgaGludGVkIGZyb20gdGhlIGNvbW1pdGxvZyBwcm9jZXNzaW5nCgog ICAgYHJtIC1mciAkdG1wL2NoYW5nZXNldGA7Cn0KCg== ------=_Part_358_2011949.1124802828530--