From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Gustav_Wikstr=C3=B6m?= Subject: Re: [RFC] [PATCH] Changes to Tag groups - allow nesting and regexps Date: Thu, 19 Feb 2015 21:00:27 +0100 Message-ID: References: <874mr7pcju.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=047d7bfea62a2e90b8050f7663fb Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42399) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOXGx-0007XV-Ae for emacs-orgmode@gnu.org; Thu, 19 Feb 2015 15:00:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YOXGw-0005ef-6z for emacs-orgmode@gnu.org; Thu, 19 Feb 2015 15:00:31 -0500 Received: from mail-pd0-x22b.google.com ([2607:f8b0:400e:c02::22b]:35107) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YOXGv-0005ct-M1 for emacs-orgmode@gnu.org; Thu, 19 Feb 2015 15:00:30 -0500 Received: by pdbfl12 with SMTP id fl12so2177546pdb.2 for ; Thu, 19 Feb 2015 12:00:28 -0800 (PST) In-Reply-To: <874mr7pcju.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: =?UTF-8?Q?Gustav_Wikstr=C3=B6m?= , Org Mode List --047d7bfea62a2e90b8050f7663fb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi again! The FSA-assignment is now complete. New patches are attached and comments below. On Sat, Jan 31, 2015 at 9:41 AM, Nicolas Goaziou w= rote: >> I suppose an FSF-assignment signature is needed before it can be >> included. > Indeed. Marked as done now, as stated above :-) >> - Grouptags don't have to be unique on a headline if added with [ ] >> instead of with { }: ,---- | #+TAGS: [ group : include1 included2 ] >> `---- > I'd rather not introduce yet another syntax for group tags. IIUC, the > current one (with curly braces) can be extended. > Also, I don't get the "have to be unique on a headline" part. The reason for the use of [ ] is because { } already has another purpose - it is used to make the tags within { } exclusive. this example ,---- | #+TAGS: { group : include1 include2 } `---- will only allow one of the tags on any specific headline. [ ] solves this. Note that grouptags doesn't care if { } or [ ] is used. The only difference is the exclusiveness. I.e both ,---- | #+TAGS: [ group : include1 include2 ] | #+TAGS: { group : include1 include2 } `---- will work. With some limitations on the second example due to the way { } works since before. >> A new variable is defined `ORG-GROUP-TAGS-MAX-DEPTH' that is used >> to limit the depth of recursion when expanding tags. It defaults to >> 2. > I don't think this variable is necessary. However, a check for > circular inclusions would be necessary. Indeed. The variable is removed and the function `org-tags-expand' now handles circular definitions with grace ;-) Best regards Gustav Wikstr=C3=B6m --047d7bfea62a2e90b8050f7663fb Content-Type: application/octet-stream; name="0001-org-Grouptags-not-unique-and-can-contain-regexp.patch" Content-Disposition: attachment; filename="0001-org-Grouptags-not-unique-and-can-contain-regexp.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i6ckot4v0 RnJvbSBkYjY4MDYxOWMwYmVlNTkzZDZmMTViZGQ5Njg2MmJiZjgxN2NkMmE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R3VzdGF2PTIwV2lrc3RyPUMzPUI2bT89IDxn dXN0YXZAVVZTZXJ2ZXI+CkRhdGU6IFNhdCwgMjQgSmFuIDIwMTUgMDI6NDc6MjYgKzAxMDAKU3Vi amVjdDogW1BBVENIIDEvM10gb3JnOiBHcm91cHRhZ3Mgbm90IHVuaXF1ZSBhbmQgY2FuIGNvbnRh aW4gcmVnZXhwCgoqIGxpc3Avb3JnLmVsIChvcmctLXNldHVwLXByb2Nlc3MtdGFncyk6CiAgKG9y Zy1mYXN0LXRhZy1zZWxlY3Rpb24pOgoKICBHcm91cHRhZ3MgaGFkIHRvIHByZXZpb3VzbHkgYmUg ZGVmaW5lZCB3aXRoIHsgfS4gVGhpcyBzeW50YXggaXMKICBhbHJlYWR5IHVzZWQgZm9yIGV4Y2x1 c2l2ZSB0YWdzIGFuZCBHcm91cHRhZ3MgbmVlZCB0aGVpciBvd24sCiAgbm9uLWV4Y2x1c2l2ZSBz eW50YXguIFRoaXMgYmVoYXZpb3VyIGlzIGFjaGlldmVkIHdpdGggWyBdCiAgaW5zdGVhZC4gTm90 ZTogeyB9IGNhbiBzdGlsbCBiZSB1c2VkIGFsc28gZm9yIEdyb3VwdGFncyBidXQgdGhlbgogIG9u bHkgb25lIG9mIHRoZSBnaXZlbiB0YWdzIGNhbiBiZSB1c2VkIG9uIHRoZSBoZWFkbGluZSBhdCB0 aGUgc2FtZQogIHRpbWUuIEV4YW1wbGU6CgogIFsgZ3JvdXAgOiBpbmNsdWRlMSBpbmNsdWRlZDIg XQoKKiBsaXNwL29yZy5lbCAob3JnLS1zZXR1cC1wcm9jZXNzLXRhZ3MpOgogIChvcmctdGFncy1l eHBhbmQpOgoKICBHcm91cHRhZ3MgY2FuIGhhdmUgcmVndWxhciBleHByZXNzaW9ucyBhcwogICJz dWItdGFncyIuIFRoZSByZWd1bGFyIGV4cHJlc3Npb25zIGluIHRoZSBncm91cCBtdXN0IGJlIG1h cmtlZCB1cAogIHdpdGhpbiB7IH0uICBFeGFtcGxlIHVzZToKCiAgOiAjK1RBR1M6IFsgUHJvamVj dCA6IHtQQC4rfSBdCgogIFNlYXJjaGluZyBmb3IgdGhlIHRhZyBQcm9qZWN0IHdpbGwgbm93IGxp c3QgYWxsIHRhZ3MgYWxzbyBpbmNsdWRpbmcKICByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hlcyBm b3IgUEAuKy4gR29vZCBmb3IgZXhhbXBsZSBpZiB0YWdzIGZvciBhCiAgY2VydGFpbiBwcm9qZWN0 IGlzIHRhZ2dlZCB3aXRoIGEgY29tbW9uIHByb2plY3QtaWRlbnRpZmllciwKICBpLmUuIFBAMjAx NF9PcmdUYWdzLgoKKiBsaXNwL29yZy5lbCAob3JnLS1zZXR1cC1wcm9jZXNzLXRhZ3MpOgoKICBH cm91cHRhZ3MgYXJlIG5vdCBmaWx0ZXJlZCB3aGVuIHNldHRpbmcgdXAgdGFncy4gVGhpcyBtZWFu cyB0aGV5IGNhbgogIGV4aXN0IG11bHRpcGxlIHRpbWVzIGluIG9yZy10YWctYWxpc3QgbGlzdC4g V2lsbCBiZSB1c2FibGUgaWYKICBuZXN0aW5nIG9mIGdyb3VwdGFncyBpcyBldmVyIHRvIGJlY29t ZSByZWFsaXR5LgoKICBUaGVyZSBpcyBhIHNsaWdodGx5IGFubm95aW5nIHNpZGUtZWZmZWN0IHdo ZW4gc2V0dGluZyB0YWdzIGluIHRoYXQgYQogIHRhZyB3aGljaCBpcyBib3RoIGEgcGFydCBvZiBh IGdyb3VwdGFnIGFuZCBhIGdyb3VwdGFnIG9mIGl0J3Mgb3duCiAgd2lsbCBnZXQgbXVsdGlwbGUg a2V5LWNob2ljZXMgaW4gdGhlIHNlbGVjdGlvbi1VSS4KLS0tCiBsaXNwL29yZy5lbCB8IDk5ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9saXNwL29yZy5lbCBiL2xpc3Avb3JnLmVsCmluZGV4IDMxMDdlNzAuLjZiYjhl ZGYgMTAwNzU1Ci0tLSBhL2xpc3Avb3JnLmVsCisrKyBiL2xpc3Avb3JnLmVsCkBAIC01MjE5LDYg KzUyMTksOCBAQCBGSUxFVEFHUyBpcyBhIGxpc3Qgb2YgdGFncywgYXMgc3RyaW5ncy4iCiAJCSAg ICAoY2FzZSAoY2FyIHRhZykKIAkJICAgICAgKDpzdGFydGdyb3VwICJ7IikKIAkJICAgICAgKDpl bmRncm91cCAifSIpCisJCSAgICAgICg6c3RhcnRncm91cHRhZ3MgIlsiKQorCQkgICAgICAoOmVu ZGdyb3VwdGFncyAiXSIpCiAJCSAgICAgICg6Z3JvdXB0YWdzICI6IikKIAkJICAgICAgKDpuZXds aW5lICJcXG4iKQogCQkgICAgICAob3RoZXJ3aXNlIChjb25jYXQgKGNhciB0YWcpCkBAIC01MjM5 LDEyICs1MjQxLDIwIEBAIEZJTEVUQUdTIGlzIGEgbGlzdCBvZiB0YWdzLCBhcyBzdHJpbmdzLiIK IAkgKChlcXVhbCBlICJ9IikKIAkgIChwdXNoICcoOmVuZGdyb3VwKSBvcmctdGFnLWFsaXN0KQog CSAgKHNldHEgZ3JvdXAtZmxhZyBuaWwpKQorCSAoKGVxdWFsIGUgIlsiKQorCSAgKHB1c2ggJyg6 c3RhcnRncm91cHRhZ3MpIG9yZy10YWctYWxpc3QpCisJICAod2hlbiAoZXF1YWwgKG50aCAxIHRh Z3MpICI6IikgKHNldHEgZ3JvdXAtZmxhZyB0KSkpCisJICgoZXF1YWwgZSAiXSIpCisJICAocHVz aCAnKDplbmRncm91cHRhZ3MpIG9yZy10YWctYWxpc3QpCisJICAoc2V0cSBncm91cC1mbGFnIG5p bCkpCiAJICgoZXF1YWwgZSAiOiIpCiAJICAocHVzaCAnKDpncm91cHRhZ3MpIG9yZy10YWctYWxp c3QpCiAJICAoc2V0cSBncm91cC1mbGFnICdhcHBlbmQpKQogCSAoKGVxdWFsIGUgIlxcbiIpIChw dXNoICcoOm5ld2xpbmUpIG9yZy10YWctYWxpc3QpKQogCSAoKHN0cmluZy1tYXRjaAotCSAgIChv cmctcmUgIlxcYFxcKFtbOmFsbnVtOl1fQCMlXStcXClcXCg/OihcXCguXFwpKVxcKT9cXCciKSBl KQorCSAgIChvcmctcmUgKGNvbmNhdCAiXFxgXFwoW1s6YWxudW06XV9AIyVdKyIKKwkJCSAgICJc XHx7Lit9XFwpIiA7IHJlZ3VsYXIgZXhwcmVzc2lvbgorCQkJICAgIlxcKD86KFxcKC5cXCkpXFwp P1xcJyIpKSBlKQogCSAgKGxldCAoKHRhZyAobWF0Y2gtc3RyaW5nIDEgZSkpCiAJCShrZXkgKGFu ZCAobWF0Y2gtYmVnaW5uaW5nIDIpCiAJCQkgIChzdHJpbmctdG8tY2hhciAobWF0Y2gtc3RyaW5n IDIgZSkpKSkpCkBAIC01MjUyLDcgKzUyNjIsOCBAQCBGSUxFVEFHUyBpcyBhIGxpc3Qgb2YgdGFn cywgYXMgc3RyaW5ncy4iCiAJCSAgIChzZXRjYXIgb3JnLXRhZy1ncm91cHMtYWxpc3QKIAkJCSAg IChhcHBlbmQgKGNhciBvcmctdGFnLWdyb3Vwcy1hbGlzdCkgKGxpc3QgdGFnKSkpKQogCQkgIChn cm91cC1mbGFnIChwdXNoIChsaXN0IHRhZykgb3JnLXRhZy1ncm91cHMtYWxpc3QpKSkKLQkgICAg KHVubGVzcyAoYXNzb2MgdGFnIG9yZy10YWctYWxpc3QpCisJICAgIDs7IFB1c2ggYWxsIHRhZ3Mg aW4gZ3JvdXBzLCBubyBtYXR0ZXIgaWYgdGhleSBhbHJlYWR5IGV4aXN0LgorCSAgICAodW5sZXNz IChhbmQgKG5vdCBncm91cC1mbGFnKSAoYXNzb2MgdGFnIG9yZy10YWctYWxpc3QpKQogCSAgICAg IChwdXNoIChjb25zIHRhZyBrZXkpIG9yZy10YWctYWxpc3QpKSkpKSkpKQogICAoc2V0cSBvcmct dGFnLWFsaXN0IChucmV2ZXJzZSBvcmctdGFnLWFsaXN0KSkpCiAKQEAgLTE0NTU5LDMyICsxNDU3 MCw2MyBAQCBXaGVuIERPV05DQVNFIGlzIG5vbi1uaWwsIGV4cGFuZCBkb3duY2FzZWQgVEFHUy4i CiAgIChpZiBvcmctZ3JvdXAtdGFncwogICAgICAgKGxldCogKChjYXNlLWZvbGQtc2VhcmNoIHQp CiAJICAgICAoc3RhYmxlIG9yZy1tb2RlLXN5bnRheC10YWJsZSkKLQkgICAgICh0YWwgKG9yIG9y Zy10YWctZ3JvdXBzLWFsaXN0LWZvci1hZ2VuZGEKLQkJICAgICAgb3JnLXRhZy1ncm91cHMtYWxp c3QpKQotCSAgICAgKHRhbCAoaWYgZG93bmNhc2VkCi0JCSAgICAgIChtYXBjYXIgKGxhbWJkYSh0 ZykgKG1hcGNhciAnZG93bmNhc2UgdGcpKSB0YWwpIHRhbCkpCi0JICAgICAodG1sIChtYXBjYXIg J2NhciB0YWwpKQotCSAgICAgKHJ0bm1hdGNoIG1hdGNoKSBycGwpCisJICAgICAodGFnZ3JvdXBz IChvciBvcmctdGFnLWdyb3Vwcy1hbGlzdC1mb3ItYWdlbmRhIG9yZy10YWctZ3JvdXBzLWFsaXN0 KSkKKwkgICAgICh0YWdncm91cHMgKGlmIGRvd25jYXNlZCAobWFwY2FyIChsYW1iZGEodGcpICht YXBjYXIgJ2Rvd25jYXNlIHRnKSkgdGFnZ3JvdXBzKSB0YWdncm91cHMpKQorCSAgICAgKHRhZ2dy b3Vwcy1rZXlzIChtYXBjYXIgJ2NhciB0YWdncm91cHMpKQorCSAgICAgKHJldHVybi1tYXRjaCAo aWYgZG93bmNhc2VkIChkb3duY2FzZSBtYXRjaCkgbWF0Y2gpKQorCSAgICAgKGNvdW50IDApCisJ ICAgICByZWdleHBzLWluLW1hdGNoIHRhZ3MtaW4tZ3JvdXAgcmVnZXhwLWluLWdyb3VwIHJlZ2V4 cC1pbi1ncm91cC1lc2NhcGVkKQogCTs7IEAgYW5kIF8gYXJlIGFsbG93ZWQgYXMgd29yZC1jb21w b25lbnRzIGluIHRhZ3MKIAkobW9kaWZ5LXN5bnRheC1lbnRyeSA/QCAidyIgc3RhYmxlKQogCSht b2RpZnktc3ludGF4LWVudHJ5ID9fICJ3IiBzdGFibGUpCi0JKHdoaWxlIChhbmQgdG1sCisJOzsg VGVtcG9yYXJpbHkgcmVwbGFjZSByZWdleHAtZXhwcmVzc2lvbnMgaW4gdGhlIG1hdGNoLWV4cHJl c3Npb24KKwkod2hpbGUgKHN0cmluZy1tYXRjaCAiey4rP30iIHJldHVybi1tYXRjaCkKKwkgIChz ZXRxIGNvdW50ICgxKyBjb3VudCkpCisJICAoc2V0cSByZWdleHBzLWluLW1hdGNoIChjb25zICht YXRjaC1zdHJpbmcgMCByZXR1cm4tbWF0Y2gpIHJlZ2V4cHMtaW4tbWF0Y2gpKQorCSAgKHNldHEg cmV0dXJuLW1hdGNoIChyZXBsYWNlLW1hdGNoIChjb25jYXQgIjwiIChudW1iZXItdG8tc3RyaW5n IGNvdW50KSAiPiIpIHQgbmlsIHJldHVybi1tYXRjaCkpKQorCSh3aGlsZSAoYW5kIHRhZ2dyb3Vw cy1rZXlzCiAJCSAgICAod2l0aC1zeW50YXgtdGFibGUgc3RhYmxlCiAJCSAgICAgIChzdHJpbmct bWF0Y2gKIAkJICAgICAgIChjb25jYXQgIlxcKD8xOlsrLV0/XFwpXFwoPzI6XFw8IgotCQkJICAg ICAgIChyZWdleHAtb3B0IHRtbCkgIlxcPlxcKSIpIHJ0bm1hdGNoKSkpCi0JICAobGV0KiAoKGRp ciAobWF0Y2gtc3RyaW5nIDEgcnRubWF0Y2gpKQotCQkgKHRhZyAobWF0Y2gtc3RyaW5nIDIgcnRu bWF0Y2gpKQorCQkJICAgICAgIChyZWdleHAtb3B0IHRhZ2dyb3Vwcy1rZXlzKSAiXFw+XFwpIikg cmV0dXJuLW1hdGNoKSkpCisJICAobGV0KiAoKGRpciAobWF0Y2gtc3RyaW5nIDEgcmV0dXJuLW1h dGNoKSkKKwkJICh0YWcgKG1hdGNoLXN0cmluZyAyIHJldHVybi1tYXRjaCkpCiAJCSAodGFnIChp ZiBkb3duY2FzZWQgKGRvd25jYXNlIHRhZykgdGFnKSkpCi0JICAgIChzZXRxIHRtbCAoZGVsZXRl IHRhZyB0bWwpKQotCSAgICAod2hlbiAobm90IChnZXQtdGV4dC1wcm9wZXJ0eSAwICdncm91cHRh ZyAobWF0Y2gtc3RyaW5nIDIgcnRubWF0Y2gpKSkKLQkgICAgICAoc2V0cSBycGwgKGFwcGVuZCAo b3JnLXVuaXF1aWZ5IHJwbCkgKGFzc29jIHRhZyB0YWwpKSkKLQkgICAgICAoc2V0cSBycGwgKGNv bmNhdCBkaXIgIntcXDwiIChyZWdleHAtb3B0IHJwbCkgIlxcPn0iKSkKLQkgICAgICAoaWYgKHN0 cmluZ3AgcnBsKSAob3JnLWFkZC1wcm9wcyBycGwgJyhncm91cHRhZyB0KSkpCi0JICAgICAgKHNl dHEgcnRubWF0Y2ggKHJlcGxhY2UtbWF0Y2ggcnBsIHQgdCBydG5tYXRjaCkpKSkpCisJICAgICh3 aGVuIChub3QgKGdldC10ZXh0LXByb3BlcnR5IDAgJ2dyb3VwdGFnIChtYXRjaC1zdHJpbmcgMiBy ZXR1cm4tbWF0Y2gpKSkKKwkgICAgICAoc2V0cSB0YWdzLWluLWdyb3VwIChhc3NvYyB0YWcgdGFn Z3JvdXBzKSkKKwkgICAgICA7IEZpbHRlciB0YWctcmVnZXhwcyBmcm9tIHRhZ3MKKwkgICAgICAo c2V0cSByZWdleHAtaW4tZ3JvdXAtZXNjYXBlZCAoZGVscSBuaWwgKG1hcGNhciAobGFtYmRhICh4 KQorCQkJCQkJCQkoaWYgKHN0cmluZ3AgeCkKKwkJCQkJCQkJICAgIChhbmQgKHN0cmluZy1wcmVm aXgtcCAieyIgeCkKKwkJCQkJCQkJCSAoc3RyaW5nLXN1ZmZpeC1wICJ9IiB4KQorCQkJCQkJCQkJ IHgpCisJCQkJCQkJCSAgeCkpIHRhZ3MtaW4tZ3JvdXApKQorCQkgICAgcmVnZXhwLWluLWdyb3Vw IChtYXBjYXIgKGxhbWJkYSAoeCkgKHN1YnN0cmluZyB4IDEgLTEpKSByZWdleHAtaW4tZ3JvdXAt ZXNjYXBlZCkKKwkJICAgIHRhZ3MtaW4tZ3JvdXAgKGRlbHEgbmlsIChtYXBjYXIgKGxhbWJkYSAo eCkKKwkJCQkJCSAgICAgIChpZiAoc3RyaW5ncCB4KQorCQkJCQkJCSAgKGFuZCAobm90IChzdHJp bmctcHJlZml4LXAgInsiIHgpKQorCQkJCQkJCSAgICAgICAobm90IChzdHJpbmctc3VmZml4LXAg In0iIHgpKQorCQkJCQkJCSAgICAgICB4KQorCQkJCQkJCXgpKSB0YWdzLWluLWdyb3VwKSkpCisJ ICAgICAgOyBJZiBzaW5nbGUtYXMtbGlzdCwgZG8gbm8gbW9yZSBpbiB0aGUgd2hpbGUtbG9vcC4u LgorCSAgICAgIChpZiAobm90IHNpbmdsZS1hcy1saXN0KQorCQkgIChwcm9nbgorCQkgICAgKGlm IHJlZ2V4cC1pbi1ncm91cAorCQkJKHNldHEgcmVnZXhwLWluLWdyb3VwIChjb25jYXQgIlxcfCIg KG1hcGNvbmNhdCAnaWRlbnRpdHkgcmVnZXhwLWluLWdyb3VwICJcXHwiKSkpKQorCQkgICAgKHNl dHEgdGFncy1pbi1ncm91cCAoY29uY2F0IGRpciAie1xcPCIgKHJlZ2V4cC1vcHQgdGFncy1pbi1n cm91cCkgcmVnZXhwLWluLWdyb3VwICAiXFw+fSIpKQorCQkgICAgKGlmIChzdHJpbmdwIHRhZ3Mt aW4tZ3JvdXApIChvcmctYWRkLXByb3BzIHRhZ3MtaW4tZ3JvdXAgJyhncm91cHRhZyB0KSkpCisJ CSAgICAoc2V0cSByZXR1cm4tbWF0Y2ggKHJlcGxhY2UtbWF0Y2ggdGFncy1pbi1ncm91cCB0IHQg cmV0dXJuLW1hdGNoKSkpCisgCQkoc2V0cSB0YWdzLWluLWdyb3VwIChhcHBlbmQgcmVnZXhwLWlu LWdyb3VwLWVzY2FwZWQgdGFncy1pbi1ncm91cCkpKSkKKyAJICAgIChzZXRxIHRhZ2dyb3Vwcy1r ZXlzIChkZWxldGUgdGFnIHRhZ2dyb3Vwcy1rZXlzKSkpKQorCTs7IEFkZCB0aGUgcmVndWxhciBl eHByZXNzaW9ucyBiYWNrIGludG8gdGhlIG1hdGNoLWV4cHJlc3Npb24gYWdhaW4KKwkod2hpbGUg cmVnZXhwcy1pbi1tYXRjaAorCSAgKHNldHEgcmV0dXJuLW1hdGNoIChyZXBsYWNlLXJlZ2V4cC1p bi1zdHJpbmcgKGNvbmNhdCAiPCIgKG51bWJlci10by1zdHJpbmcgY291bnQpICI+IikKKwkJCQkJ CSAgICAgICAocG9wIHJlZ2V4cHMtaW4tbWF0Y2gpCisJCQkJCQkgICAgICAgcmV0dXJuLW1hdGNo IHQgdCkpCisJICAoc2V0cSBjb3VudCAoMS0gY291bnQpKSkKIAkoaWYgc2luZ2xlLWFzLWxpc3QK LQkgICAgKG9yIChyZXZlcnNlIHJwbCkgKGxpc3QgcnRubWF0Y2gpKQotCSAgcnRubWF0Y2gpKQor CSAgICAoaWYgdGFncy1pbi1ncm91cCB0YWdzLWluLWdyb3VwIChsaXN0IHJldHVybi1tYXRjaCkp CisJICByZXR1cm4tbWF0Y2gpKQogICAgIChpZiBzaW5nbGUtYXMtbGlzdCAobGlzdCAoaWYgZG93 bmNhc2VkIChkb3duY2FzZSBtYXRjaCkgbWF0Y2gpKQogICAgICAgbWF0Y2gpKSkKIApAQCAtMTUw NDQsNyArMTUwODYsNyBAQCBSZXR1cm5zIHRoZSBuZXcgdGFncyBzdHJpbmcsIG9yIG5pbCB0byBu b3QgY2hhbmdlIHRoZSBjdXJyZW50IHNldHRpbmdzLiIKIAkgb3Ytc3RhcnQgb3YtZW5kIG92LXBy ZWZpeAogCSAoZXhpdC1hZnRlci1uZXh0IG9yZy1mYXN0LXRhZy1zZWxlY3Rpb24tc2luZ2xlLWtl eSkKIAkgKGRvbmUta2V5d29yZHMgb3JnLWRvbmUta2V5d29yZHMpCi0JIGdyb3VwcyBpbmdyb3Vw KQorCSBncm91cHMgaW5ncm91cCBpbnRhZ2dyb3VwKQogICAgIChzYXZlLWV4Y3Vyc2lvbgogICAg ICAgKGJlZ2lubmluZy1vZi1saW5lIDEpCiAgICAgICAoaWYgKGxvb2tpbmctYXQKQEAgLTE1MDg2 LDYgKzE1MTI4LDE1IEBAIFJldHVybnMgdGhlIG5ldyB0YWdzIHN0cmluZywgb3IgbmlsIHRvIG5v dCBjaGFuZ2UgdGhlIGN1cnJlbnQgc2V0dGluZ3MuIgogCSAoKGVxdWFsIChjYXIgZSkgOmVuZGdy b3VwKQogCSAgKHNldHEgaW5ncm91cCBuaWwgY250IDApCiAJICAoaW5zZXJ0ICJ9IiAoaWYgKGNk ciBlKSAoZm9ybWF0ICIgKCVzKSAiIChjZHIgZSkpICIiKSAiXG4iKSkKKwkgKChlcXVhbCAoY2Fy IGUpIDpzdGFydGdyb3VwdGFncykKKwkgIChzZXRxIGludGFnZ3JvdXAgdCkKKwkgICh3aGVuIChu b3QgKD0gY250IDApKQorCSAgICAoc2V0cSBjbnQgMCkKKwkgICAgKGluc2VydCAiXG4iKSkKKwkg IChpbnNlcnQgIlsgIikpCisJICgoZXF1YWwgKGNhciBlKSA6ZW5kZ3JvdXB0YWdzKQorCSAgKHNl dHEgaW50YWdncm91cCBuaWwgY250IDApCisJICAoaW5zZXJ0ICJdXG4iKSkKIAkgKChlcXVhbCBl ICcoOm5ld2xpbmUpKQogCSAgKHdoZW4gKG5vdCAoPSBjbnQgMCkpCiAJICAgIChzZXRxIGNudCAw KQpAQCAtMTUwOTQsNyArMTUxNDUsNyBAQCBSZXR1cm5zIHRoZSBuZXcgdGFncyBzdHJpbmcsIG9y IG5pbCB0byBub3QgY2hhbmdlIHRoZSBjdXJyZW50IHNldHRpbmdzLiIKIAkgICAgKHdoaWxlIChl cXVhbCAoY2FyIHRibCkgJyg6bmV3bGluZSkpCiAJICAgICAgKGluc2VydCAiXG4iKQogCSAgICAg IChzZXRxIHRibCAoY2RyIHRibCkpKSkpCi0JICgoZXF1YWwgZSAnKDpncm91cHRhZ3MpKSBuaWwp CisJICgoZXF1YWwgZSAnKDpncm91cHRhZ3MpKSAoaW5zZXJ0ICIgOiAiKSkKIAkgKHQKIAkgIChz ZXRxIHRnIChjb3B5LXNlcXVlbmNlIChjYXIgZSkpIGMyIG5pbCkKIAkgIChpZiAoY2RyIGUpCkBA IC0xNTExNywxMyArMTUxNjgsMTMgQEAgUmV0dXJucyB0aGUgbmV3IHRhZ3Mgc3RyaW5nLCBvciBu aWwgdG8gbm90IGNoYW5nZSB0aGUgY3VycmVudCBzZXR0aW5ncy4iCiAJICAJCQkgICAoKG1lbWJl ciB0ZyBpbmhlcml0ZWQpIGktZmFjZSkpKSkKIAkgIChpZiAoZXF1YWwgKGNhYXIgdGJsKSA6Z3Jv dXB0YWdzKQogCSAgICAgIChvcmctYWRkLXByb3BzIHRnIG5pbCAnZmFjZSAnb3JnLXRhZy1ncm91 cCkpCi0JICAoaWYgKGFuZCAoPSBjbnQgMCkgKG5vdCBpbmdyb3VwKSkgKGluc2VydCAiICAiKSkK KwkgIChpZiAoYW5kICg9IGNudCAwKSAobm90IGluZ3JvdXApIChub3QgaW50YWdncm91cCkpIChp bnNlcnQgIiAiKSkKIAkgIChpbnNlcnQgIlsiIGMgIl0gIiB0ZyAobWFrZS1zdHJpbmcKIAkJCQkg KC0gZndpZHRoIDQgKGxlbmd0aCB0ZykpID9cICkpCiAJICAocHVzaCAoY29ucyB0ZyBjKSBudGFi bGUpCiAJICAod2hlbiAoPSAoc2V0cSBjbnQgKDErIGNudCkpIG5jb2wpCiAJICAgIChpbnNlcnQg IlxuIikKLQkgICAgKGlmIGluZ3JvdXAgKGluc2VydCAiICAiKSkKKwkgICAgKGlmIChvciBpbmdy b3VwIGludGFnZ3JvdXApIChpbnNlcnQgIiAiKSkKIAkgICAgKHNldHEgY250IDApKSkpKQogICAg ICAgKHNldHEgbnRhYmxlIChucmV2ZXJzZSBudGFibGUpKQogICAgICAgKGluc2VydCAiXG4iKQot LSAKMS45LjEKCg== --047d7bfea62a2e90b8050f7663fb Content-Type: application/octet-stream; name="0002-org-agenda-Filtering-in-the-agenda-on-grouptags.patch" Content-Disposition: attachment; filename="0002-org-agenda-Filtering-in-the-agenda-on-grouptags.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i6ckot561 RnJvbSBjNWVkZDIzZDhmZGI5NjVjMDc1M2MyNGJiMGY3ZDg3M2JhYjI0YzM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R3VzdGF2PTIwV2lrc3RyPUMzPUI2bT89IDxn dXN0YXZAVVZTZXJ2ZXI+CkRhdGU6IFNhdCwgMjQgSmFuIDIwMTUgMDI6NDc6MzUgKzAxMDAKU3Vi amVjdDogW1BBVENIIDIvM10gb3JnLWFnZW5kYTogRmlsdGVyaW5nIGluIHRoZSBhZ2VuZGEgb24g Z3JvdXB0YWdzCgoqIGxpc3Avb3JnLWFnZW5kYS5lbDoKCiAgKG92ZXJ2aWV3KQogIEZpbHRlcmlu ZyBpbiB0aGUgYWdlbmRhIG9uIGdyb3VwdGFncyBmaWx0ZXIgYWxzbwogIHN1YmNhdGVnb3JpZXMu IEV4Y2VwdGlvbiBpZiBmaWx0ZXIgaXMgYXBwbGllZCB3aXRoIGEgKGRvdWJsZSkKICBwcmVmaXgt YXJndW1lbnQuCgogIEZpbHRlcmluZyBpbiB0aGUgYWdlbmRhIG9uIHN1YmNhdGVnb3JpZXMgZG9l cyBub3QgZmlsdGVyIHRoZSAiYWJvdmUiCiAgbGV2ZWxzIGFueW1vcmUuCgogIElmIGEgZ3JvdXB0 YWcgY29udGFpbnMgYSByZWd1bGFyIGV4cHJlc3Npb24gdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbgog IGlzIGFsc28gdXNlZCBhcyBhIGZpbHRlci4KCiAgKGRldGFpbHMpCiAgLSAob3JnLWFnZW5kYS1m aWx0ZXItYnktdGFnKTogaW1wcm92ZWQgVUkgYW5kIHJlZmFjdG9yaW5nLiAgTm93IHVzZXMKICAg IHRoZSBhcmd1bWVudCBhcmcgYW5kIG9wdGlvbmFsIGFyZ3VtZW50IGV4Y2x1ZGUgaW5zdGVhZCBv ZiBzdHJpcAogICAgYW5kIG5hcnJvdy4gIEFSRyBiZWNhdXNlIHRoZSBhcmd1bWVudCBoYXMgbXVs dGlwbGUgcHVycG9zZXMgYW5kCiAgICBtYWtlcyBtb3JlIHNlbnNlIHRoYW4gc3RyaXAgbm93LiAg VGhlIHRlcm0gbmFycm93aW5nIGlzIGNoYW5nZWQgdG8KICAgIGV4Y2x1ZGUuCgogIC0gKG9yZy1h Z2VuZGEtZmlsdGVyLWJ5LXRhZy1yZWZpbmUpOiBuYW1lIGNoYW5nZSBpbiBhcmd1bWVudCB0bwog ICAgbWF0Y2ggb3JnLWFnZW5kYS1maWx0ZXItYnktdGFnLgoKICAtIChvcmctYWdlbmRhLWZpbHRl ci1tYWtlLW1hdGNoZXIpOiBuZXcgb3B0aW9uYWwgYXJndW1lbnQgRVhQQU5EIGFuZAogICAgcmVm YWN0b3JpbmcKCiAgLSAob3JnLWFnZW5kYS1maWx0ZXItbWFrZS1tYXRjaGVyLXRhZy1leHApOiBu ZXcgZnVuY3Rpb24sIHByZXZpb3VzbHkKICAgIGJha2VkIGludG8gb3JnLWFnZW5kYS1maWx0ZXIt bWFrZS1tYXRjaGVyLgoKICAtIChvcmctYWdlbmRhLWZpbHRlci1hcHBseSk6IE5ldyBvcHRpb25h bCBwYXJhbWV0ZXIgRVhQQU5ELCB1c2VkIGluCiAgICBjYWxsIHRvIG9yZy1hZ2VuZGEtZmlsdGVy LW1ha2UtbWF0Y2hlci4KCiAgLSAob3JnLWFnZW5kYS1yZWFwcGx5LWZpbHRlcnMpOiBVc2VzIGFu b3RoZXIgcGFyYW1ldGVyICh0aGUgbmV3CiAgICBvcHRpb25hbCBvbmUpIGluIGNhbGwgdG8gb3Jn LWFnZW5kYS1maWx0ZXItYXBwbHkKCiAgLSAob3JnLWFnZW5kYS1maW5hbGl6ZSk6IHVzZSBvZiBu ZXcgcGFyYW1ldGVyIGluIGNhbGwgdG8gb3JnLWFnZW5kYS1maWx0ZXItYXBwbHkKCiAgLSAob3Jn LWFnZW5kYS1yZWRvKTogVXNlIG9mIG5ldyBwYXJhbWV0ZXIgaW4gY2FsbCB0byBvcmctYWdlbmRh LWZpbHRlci1hcHBseQotLS0KIGxpc3Avb3JnLWFnZW5kYS5lbCB8IDEyNSArKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDY3IGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avb3Jn LWFnZW5kYS5lbCBiL2xpc3Avb3JnLWFnZW5kYS5lbAppbmRleCA5ZjJkOWQxLi42YTJmMmM0IDEw MDY0NAotLS0gYS9saXNwL29yZy1hZ2VuZGEuZWwKKysrIGIvbGlzcC9vcmctYWdlbmRhLmVsCkBA IC0zNzYxLDEwICszNzYxLDEwIEBAIEZJTFRFUi1BTElTVCBpcyBhbiBhbGlzdCBvZiBmaWx0ZXJz IHdlIG5lZWQgdG8gYXBwbHkgd2hlbgogCSAgKG9yZy1hZ2VuZGEtZmlsdGVyLXRvcC1oZWFkbGlu ZS1hcHBseQogCSAgIG9yZy1hZ2VuZGEtdG9wLWhlYWRsaW5lLWZpbHRlcikpCiAJKHdoZW4gb3Jn LWFnZW5kYS10YWctZmlsdGVyCi0JICAob3JnLWFnZW5kYS1maWx0ZXItYXBwbHkgb3JnLWFnZW5k YS10YWctZmlsdGVyICd0YWcpKQorCSAgKG9yZy1hZ2VuZGEtZmlsdGVyLWFwcGx5IG9yZy1hZ2Vu ZGEtdGFnLWZpbHRlciAndGFnIHQpKQogCSh3aGVuIChnZXQgJ29yZy1hZ2VuZGEtdGFnLWZpbHRl ciA6cHJlc2V0LWZpbHRlcikKIAkgIChvcmctYWdlbmRhLWZpbHRlci1hcHBseQotCSAgIChnZXQg J29yZy1hZ2VuZGEtdGFnLWZpbHRlciA6cHJlc2V0LWZpbHRlcikgJ3RhZykpCisJICAgKGdldCAn b3JnLWFnZW5kYS10YWctZmlsdGVyIDpwcmVzZXQtZmlsdGVyKSAndGFnIHQpKQogCSh3aGVuIG9y Zy1hZ2VuZGEtY2F0ZWdvcnktZmlsdGVyCiAJICAob3JnLWFnZW5kYS1maWx0ZXItYXBwbHkgb3Jn LWFnZW5kYS1jYXRlZ29yeS1maWx0ZXIgJ2NhdGVnb3J5KSkKIAkod2hlbiAoZ2V0ICdvcmctYWdl bmRhLWNhdGVnb3J5LWZpbHRlciA6cHJlc2V0LWZpbHRlcikKQEAgLTczMzMsNyArNzMzMyw3IEBA IGluIHRoZSBhZ2VuZGEuIgogCSAgKGNhdCAob3IgY2F0LWZpbHRlciBjYXQtcHJlc2V0KSkKIAkg IChlZmZvcnQgKG9yIGVmZm9ydC1maWx0ZXIgZWZmb3J0LXByZXNldCkpCiAJICAocmUgKG9yIHJl LWZpbHRlciByZS1wcmVzZXQpKSkKLSAgICAgICh3aGVuIHRhZyAob3JnLWFnZW5kYS1maWx0ZXIt YXBwbHkgdGFnICd0YWcpKQorICAgICAgKHdoZW4gdGFnIChvcmctYWdlbmRhLWZpbHRlci1hcHBs eSB0YWcgJ3RhZyB0KSkKICAgICAgICh3aGVuIGNhdCAob3JnLWFnZW5kYS1maWx0ZXItYXBwbHkg Y2F0ICdjYXRlZ29yeSkpCiAgICAgICAod2hlbiBlZmZvcnQgKG9yZy1hZ2VuZGEtZmlsdGVyLWFw cGx5IGVmZm9ydCAnZWZmb3J0KSkKICAgICAgICh3aGVuIHJlICAob3JnLWFnZW5kYS1maWx0ZXIt YXBwbHkgcmUgJ3JlZ2V4cCkpKQpAQCAtNzQ1NSwxMyArNzQ1NSwxNiBAQCBXaXRoIHR3byBwcmVm aXggYXJndW1lbnRzLCByZW1vdmUgdGhlIGVmZm9ydCBmaWx0ZXJzLiIKICAgICAob3JnLWFnZW5k YS1maWx0ZXItc2hvdy1hbGwtZWZmb3J0KSkKICAgKG9yZy1hZ2VuZGEtZmluYWxpemUpKQogCi0o ZGVmdW4gb3JnLWFnZW5kYS1maWx0ZXItYnktdGFnIChzdHJpcCAmb3B0aW9uYWwgY2hhciBuYXJy b3cpCisoZGVmdW4gb3JnLWFnZW5kYS1maWx0ZXItYnktdGFnIChhcmcgJm9wdGlvbmFsIGNoYXIg ZXhjbHVkZSkKICAgIktlZXAgb25seSB0aG9zZSBsaW5lcyBpbiB0aGUgYWdlbmRhIGJ1ZmZlciB0 aGF0IGhhdmUgYSBzcGVjaWZpYyB0YWcuCiBUaGUgdGFnIGlzIHNlbGVjdGVkIHdpdGggaXRzIGZh c3Qgc2VsZWN0aW9uIGxldHRlciwgYXMgY29uZmlndXJlZC4KLVdpdGggcHJlZml4IGFyZ3VtZW50 IFNUUklQLCByZW1vdmUgYWxsIGxpbmVzIHRoYXQgZG8gaGF2ZSB0aGUgdGFnLgotQSBsaXNwIGNh bGxlciBjYW4gc3BlY2lmeSBDSEFSLiAgTkFSUk9XIG1lYW5zIHRoYXQgdGhlIG5ldyB0YWcgc2hv dWxkIGJlCi11c2VkIHRvIG5hcnJvdyB0aGUgc2VhcmNoIC0gdGhlIGludGVyYWN0aXZlIHVzZXIg Y2FuIGFsc28gcHJlc3MgYC0nIG9yIGArJwotdG8gc3dpdGNoIHRvIG5hcnJvd2luZy4iCitXaXRo IGEgc2luZ2xlIGBDLXUnIHByZWZpeCBBUkcsIGV4Y2x1ZGUgdGhlIGFnZW5kYSBzZWFyY2guICBX aXRoIGEKK2RvdWJsZSBgQy11JyBwcmVmaXggQVJHLCBmaWx0ZXIgdGhlIGxpdGVyYWwgdGFnLiBJ LmUuIGRvbid0IGZpbHRlciBvbgorYWxsIGl0cyBncm91cCBtZW1iZXJzLgorCitBIGxpc3AgY2Fs bGVyIGNhbiBzcGVjaWZ5IENIQVIuICBFWENMVURFIG1lYW5zIHRoYXQgdGhlIG5ldyB0YWcgc2hv dWxkIGJlCit1c2VkIHRvIGV4Y2x1ZGUgdGhlIHNlYXJjaCAtIHRoZSBpbnRlcmFjdGl2ZSB1c2Vy IGNhbiBhbHNvIHByZXNzIGAtJyBvciBgKycKK3RvIHN3aXRjaCBiZXR3ZWVuIGZpbHRlcmluZyBh bmQgZXhjbHVkaW5nLiIKICAgKGludGVyYWN0aXZlICJQIikKICAgKGxldCogKChhbGlzdCBvcmct dGFnLWFsaXN0LWZvci1hZ2VuZGEpCiAJICh0YWctY2hhcnMgKG1hcGNvbmNhdApAQCAtNzQ2OSwy MyArNzQ3MiwyNCBAQCB0byBzd2l0Y2ggdG8gbmFycm93aW5nLiIKIAkJCQkJICAoY2RyIHgpKQog CQkJCSAgICAgKGNoYXItdG8tc3RyaW5nIChjZHIgeCkpCiAJCQkJICAgIiIpKQotCQkgICAgIGFs aXN0ICIiKSkKKwkJICAgICBvcmctdGFnLWFsaXN0LWZvci1hZ2VuZGEgIiIpKQorCSAoZXhjbHVk ZSAoaWYgZXhjbHVkZSBleGNsdWRlIChlcXVhbCBhcmcgJyg0KSkpKQorCSAoZXhwYW5kIChub3Qg KGVxdWFsIGFyZyAnKDE2KSkpKQogCSAoaW5oaWJpdC1yZWFkLW9ubHkgdCkKIAkgKGN1cnJlbnQg b3JnLWFnZW5kYS10YWctZmlsdGVyKQogCSBhIG4gdGFnKQogICAgICh1bmxlc3MgY2hhcgotICAg ICAgKG1lc3NhZ2UKLSAgICAgICAiJXMgYnkgdGFnIFslcyBdLCBbVEFCXSwgJXNbL106b2ZmLCBb Ky1dOm5hcnJvdyIKLSAgICAgICAoaWYgbmFycm93ICJOYXJyb3ciICJGaWx0ZXIiKSB0YWctY2hh cnMKLSAgICAgICAoaWYgb3JnLWFnZW5kYS1hdXRvLWV4Y2x1ZGUtZnVuY3Rpb24gIltSRVRdLCAi ICIiKSkKLSAgICAgIChzZXRxIGNoYXIgKHJlYWQtY2hhci1leGNsdXNpdmUpKSkKLSAgICAod2hl biAobWVtYmVyIGNoYXIgJyg/KyA/LSkpCi0gICAgICA7OyBOYXJyb3dpbmcgZG93bgotICAgICAg KGNvbmQgKChlcXVhbCBjaGFyID8tKSAoc2V0cSBzdHJpcCB0IG5hcnJvdyB0KSkKLQkgICAgKChl cXVhbCBjaGFyID8rKSAoc2V0cSBzdHJpcCBuaWwgbmFycm93IHQpKSkKLSAgICAgIChtZXNzYWdl Ci0gICAgICAgIk5hcnJvdyBieSB0YWcgWyVzIF0sIFtUQUJdLCBbL106b2ZmIiB0YWctY2hhcnMp Ci0gICAgICAoc2V0cSBjaGFyIChyZWFkLWNoYXItZXhjbHVzaXZlKSkpCisgICAgICAod2hpbGUg KG5vdCAobWVtYmVyIGNoYXIgKGFwcGVuZCAnKD9cdCA/XHIgPy8gPy4gP1wgP3EpCisJCQkJICAg ICAgIChzdHJpbmctdG8tbGlzdCB0YWctY2hhcnMpKSkpCisJKG1lc3NhZ2UKKwkgIiVzIGJ5IHRh ZyBbJXMgXSwgW1RBQl0sICVzWy9dOm9mZiwgWysvLV06ZmlsdGVyL2V4Y2x1ZGUlcywgW3FdOnF1 aXQiCisJIChpZiBleGNsdWRlICJFeGNsdWRlIiAiRmlsdGVyIikgdGFnLWNoYXJzCisJIChpZiBv cmctYWdlbmRhLWF1dG8tZXhjbHVkZS1mdW5jdGlvbiAiW1JFVF0sICIgIiIpCisJIChpZiBleHBh bmQgIiIgIiwgbm8gZ3JvdXB0YWcgZXhwYW5kIikpCisJKHNldHEgY2hhciAocmVhZC1jaGFyLWV4 Y2x1c2l2ZSkpCisJOzsgRXhjbHVkaW5nIG9yIGZpbHRlcmluZyBkb3duCisJKGNvbmQgKChlcXVh bCBjaGFyID8tKSAoc2V0cSBleGNsdWRlIHQpKQorCSAgICAgICgoZXF1YWwgY2hhciA/KykgKHNl dHEgZXhjbHVkZSBuaWwpKSkpKQogICAgICh3aGVuIChlcXVhbCBjaGFyID9cdCkKICAgICAgICh1 bmxlc3MgKGxvY2FsLXZhcmlhYmxlLXAgJ29yZy1nbG9iYWwtdGFncy1jb21wbGV0aW9uLXRhYmxl IChjdXJyZW50LWJ1ZmZlcikpCiAJKG9yZy1zZXQtbG9jYWwgJ29yZy1nbG9iYWwtdGFncy1jb21w bGV0aW9uLXRhYmxlCkBAIC03NTAzLDI1ICs3NTA3LDI2IEBAIHRvIHN3aXRjaCB0byBuYXJyb3dp bmcuIgogCSAgICAoaWYgbW9kaWZpZXIKIAkJKHB1c2ggbW9kaWZpZXIgb3JnLWFnZW5kYS10YWct ZmlsdGVyKSkpKQogCShpZiAobm90IChudWxsIG9yZy1hZ2VuZGEtdGFnLWZpbHRlcikpCi0JICAg IChvcmctYWdlbmRhLWZpbHRlci1hcHBseSBvcmctYWdlbmRhLXRhZy1maWx0ZXIgJ3RhZykpKSkK KwkgICAgKG9yZy1hZ2VuZGEtZmlsdGVyLWFwcGx5IG9yZy1hZ2VuZGEtdGFnLWZpbHRlciAndGFn IGV4cGFuZCkpKSkKICAgICAgKChlcXVhbCBjaGFyID8vKQogICAgICAgKG9yZy1hZ2VuZGEtZmls dGVyLXNob3ctYWxsLXRhZykKICAgICAgICh3aGVuIChnZXQgJ29yZy1hZ2VuZGEtdGFnLWZpbHRl ciA6cHJlc2V0LWZpbHRlcikKLQkob3JnLWFnZW5kYS1maWx0ZXItYXBwbHkgb3JnLWFnZW5kYS10 YWctZmlsdGVyICd0YWcpKSkKKwkob3JnLWFnZW5kYS1maWx0ZXItYXBwbHkgb3JnLWFnZW5kYS10 YWctZmlsdGVyICd0YWcgZXhwYW5kKSkpCiAgICAgICgoZXF1YWwgY2hhciA/LiApCiAgICAgICAo c2V0cSBvcmctYWdlbmRhLXRhZy1maWx0ZXIKIAkgICAgKG1hcGNhciAobGFtYmRhKHRhZykgKGNv bmNhdCAiKyIgdGFnKSkKIAkJICAgIChvcmctZ2V0LWF0LWJvbCAndGFncykpKQotICAgICAgKG9y Zy1hZ2VuZGEtZmlsdGVyLWFwcGx5IG9yZy1hZ2VuZGEtdGFnLWZpbHRlciAndGFnKSkKKyAgICAg IChvcmctYWdlbmRhLWZpbHRlci1hcHBseSBvcmctYWdlbmRhLXRhZy1maWx0ZXIgJ3RhZyBleHBh bmQpKQorICAgICAoKGVxdWFsIGNoYXIgP3EpKSA7SWYgcSwgYWJvcnQgKGV2ZW4gaWYgdGhlcmUg aXMgYSBxLWtleSBmb3IgYSB0YWcuLi4pCiAgICAgICgob3IgKGVxdWFsIGNoYXIgP1wgKQogCSAg KHNldHEgYSAocmFzc29jIGNoYXIgYWxpc3QpKQogCSAgKGFuZCB0YWcgKHNldHEgYSAoY29ucyB0 YWcgbmlsKSkpKQogICAgICAgKG9yZy1hZ2VuZGEtZmlsdGVyLXNob3ctYWxsLXRhZykKICAgICAg IChzZXRxIHRhZyAoY2FyIGEpKQogICAgICAgKHNldHEgb3JnLWFnZW5kYS10YWctZmlsdGVyCi0J ICAgIChjb25zIChjb25jYXQgKGlmIHN0cmlwICItIiAiKyIpIHRhZykKLQkJICAoaWYgbmFycm93 IGN1cnJlbnQgbmlsKSkpCi0gICAgICAob3JnLWFnZW5kYS1maWx0ZXItYXBwbHkgb3JnLWFnZW5k YS10YWctZmlsdGVyICd0YWcpKQorCSAgICAoY29ucyAoY29uY2F0IChpZiBleGNsdWRlICItIiAi KyIpIHRhZykKKwkJICBjdXJyZW50KSkKKyAgICAgIChvcmctYWdlbmRhLWZpbHRlci1hcHBseSBv cmctYWdlbmRhLXRhZy1maWx0ZXIgJ3RhZyBleHBhbmQpKQogICAgICAodCAoZXJyb3IgIkludmFs aWQgdGFnIHNlbGVjdGlvbiBjaGFyYWN0ZXIgJWMiIGNoYXIpKSkpKQogCiAoZGVmdW4gb3JnLWFn ZW5kYS1nZXQtcmVwcmVzZW50ZWQtdGFncyAoKQpAQCAtNzUzNSwxMiArNzU0MCwxMiBAQCB0byBz d2l0Y2ggdG8gbmFycm93aW5nLiIKIAkgICAgICAoZ2V0LXRleHQtcHJvcGVydHkgKHBvaW50KSAn dGFncykpKSkKICAgICB0YWdzKSkKIAotKGRlZnVuIG9yZy1hZ2VuZGEtZmlsdGVyLWJ5LXRhZy1y ZWZpbmUgKHN0cmlwICZvcHRpb25hbCBjaGFyKQorKGRlZnVuIG9yZy1hZ2VuZGEtZmlsdGVyLWJ5 LXRhZy1yZWZpbmUgKGFyZyAmb3B0aW9uYWwgY2hhcikKICAgIlJlZmluZSB0aGUgY3VycmVudCBm aWx0ZXIuICBTZWUgYG9yZy1hZ2VuZGEtZmlsdGVyLWJ5LXRhZycuIgogICAoaW50ZXJhY3RpdmUg IlAiKQotICAob3JnLWFnZW5kYS1maWx0ZXItYnktdGFnIHN0cmlwIGNoYXIgJ3JlZmluZSkpCisg IChvcmctYWdlbmRhLWZpbHRlci1ieS10YWcgYXJnIGNoYXIgJ3JlZmluZSkpCiAKLShkZWZ1biBv cmctYWdlbmRhLWZpbHRlci1tYWtlLW1hdGNoZXIgKGZpbHRlciB0eXBlKQorKGRlZnVuIG9yZy1h Z2VuZGEtZmlsdGVyLW1ha2UtbWF0Y2hlciAoZmlsdGVyIHR5cGUgJm9wdGlvbmFsIGV4cGFuZCkK ICAgIkNyZWF0ZSB0aGUgZm9ybSB0aGF0IHRlc3RzIGEgbGluZSBmb3IgYWdlbmRhIGZpbHRlci4i CiAgIChsZXQgKGYgZjEpCiAgICAgKGNvbmQKQEAgLTc1NTAsMjcgKzc1NTUsMTMgQEAgdG8gc3dp dGNoIHRvIG5hcnJvd2luZy4iCiAJICAgIChkZWxldGUtZHVwcwogCSAgICAgKGFwcGVuZCAoZ2V0 ICdvcmctYWdlbmRhLXRhZy1maWx0ZXIgOnByZXNldC1maWx0ZXIpCiAJCSAgICAgZmlsdGVyKSkp CisgICAgICA7KGlmIGV4cGFuZCAoc2V0cSBmaWx0ZXIgKG9yZy1hZ2VuZGEtZmlsdGVyLWV4cGFu ZC10YWdzIGZpbHRlcikpKQogICAgICAgKGRvbGlzdCAoeCBmaWx0ZXIpCi0JKGxldCAoKG5maWx0 ZXIgKG9yZy1hZ2VuZGEtZmlsdGVyLWV4cGFuZC10YWdzIGZpbHRlcikpIG5mIG5mMQotCSAgICAg IChmZnVuYwotCSAgICAgICAobGFtYmRhIChuZjAgbmYwMSBmbHRyIG5vdGdyb3VwIG9wKQotCQkg KGRvbGlzdCAoeCBmbHRyKQotCQkgICAoaWYgKG1lbWJlciB4ICcoIi0iICIrIikpCi0JCSAgICAg ICAoc2V0cSBuZjAxIChpZiAoZXF1YWwgeCAiLSIpICd0YWdzICcobm90IHRhZ3MpKSkKLQkJICAg ICAoc2V0cSBuZjAxIChsaXN0ICdtZW1iZXIgKGRvd25jYXNlIChzdWJzdHJpbmcgeCAxKSkKLQkJ CQkgICAgICAndGFncykpCi0JCSAgICAgKHdoZW4gKGVxdWFsIChzdHJpbmctdG8tY2hhciB4KSA/ LSkKLQkJICAgICAgIChzZXRxIG5mMDEgKGxpc3QgJ25vdCBuZjAxKSkKLQkJICAgICAgICh3aGVu IChub3Qgbm90Z3JvdXApIChzZXRxIG9wICdhbmQpKSkpCi0JCSAgIChwdXNoIG5mMDEgbmYwKSkK LQkJIChpZiBub3Rncm91cAotCQkgICAgIChwdXNoIChjb25zICdhbmQgbmYwKSBmKQotCQkgICAo cHVzaCAoY29ucyAob3Igb3AgJ29yKSBuZjApIGYpKSkpKQotCSAgKGNvbmQgKChlcXVhbCBmaWx0 ZXIgJygiKyIpKQotCQkgKHNldHEgZiAobGlzdCAobGlzdCAnbm90ICd0YWdzKSkpKQotCQkoKGVx dWFsIG5maWx0ZXIgZmlsdGVyKQotCQkgKGZ1bmNhbGwgZmZ1bmMgZjEgZiBmaWx0ZXIgdCBuaWwp KQotCQkodCAoZnVuY2FsbCBmZnVuYyBuZjEgbmYgbmZpbHRlciBuaWwgbmlsKSkpKSkpCisJKGxl dCAoKG9wIChzdHJpbmctdG8tY2hhciB4KSkpCisJICAoaWYgZXhwYW5kIChzZXRxIHggKG9yZy1h Z2VuZGEtZmlsdGVyLWV4cGFuZC10YWdzIChsaXN0IHgpIHQpKQorCSAgICAoc2V0cSB4IChsaXN0 IHgpKSkKKwkgIChzZXRxIGYxIChvcmctYWdlbmRhLWZpbHRlci1tYWtlLW1hdGNoZXItdGFnLWV4 cCB4IG9wKSkKKwkgIChwdXNoIGYxIGYpKSkpCiAgICAgIDs7IENhdGVnb3J5IGZpbHRlcgogICAg ICAoKGVxIHR5cGUgJ2NhdGVnb3J5KQogICAgICAgKHNldHEgZmlsdGVyCkBAIC03NjAzLDYgKzc1 OTQsMjggQEAgdG8gc3dpdGNoIHRvIG5hcnJvd2luZy4iCiAJKHB1c2ggKG9yZy1hZ2VuZGEtZmls dGVyLWVmZm9ydC1mb3JtIHgpIGYpKSkpCiAgICAgKGNvbnMgJ2FuZCAobnJldmVyc2UgZikpKSkK IAorKGRlZnVuIG9yZy1hZ2VuZGEtZmlsdGVyLW1ha2UtbWF0Y2hlci10YWctZXhwICh0YWdzIG9w KQorICAobGV0IChmIGYxKSA7ZiA9IHJldHVybiBleHByZXNzaW9uLiBmMSA9IHdvcmtpbmctYXJl YQorICAgIChkb2xpc3QgKHggdGFncykKKyAgICAgIChsZXQqICgodGFnIChzdWJzdHJpbmcgeCAx KSkKKwkgICAgIChpc3JlZ2V4cCAoYW5kIChzdHJpbmctcHJlZml4LXAgInsiIHRhZykKKwkJCSAg ICAoc3RyaW5nLXN1ZmZpeC1wICJ9IiB0YWcpKSkKKwkgICAgIHJlZ2V4cCkKKwkoY29uZAorCSAo aXNyZWdleHAKKwkgIChzZXRxIHJlZ2V4cCAoc3Vic3RyaW5nIHRhZyAxIC0xKSkKKwkgIChzZXRx IGYxIChsaXN0ICdzdHJpbmctbWF0Y2ggcmVnZXhwICcoYXBwbHkgJ2NvbmNhdCAgdGFncykpKSkK KwkgKHQKKwkgIChzZXRxIGYxIChsaXN0ICdtZW1iZXIgKGRvd25jYXNlIHRhZykgJ3RhZ3MpKSkp CisJKHdoZW4gKGVxdWFsIG9wID8tKQorCSAgICAoc2V0cSBmMSAobGlzdCAnbm90IGYxKSkpKQor ICAgICAgKHB1c2ggZjEgZikpCisgICAgOyBhbnkgb2YgdGhlIGV4cHJlc3Npb25zIGNhbiBtYXRj aCBpZiBvcCA9ICsKKyAgICA7IGFsbCBtdXN0IG1hdGNoIGlmIHRoZSBvcGVyYXRvciBpcyAtLiBB bGwgbworICAgIChpZiAoZXF1YWwgb3AgPy0pCisJKGNvbnMgJ2FuZCBmKQorICAgICAgKGNvbnMg J29yIGYpKSkpCisKIChkZWZ1biBvcmctYWdlbmRhLWZpbHRlci1lZmZvcnQtZm9ybSAoZSkKICAg IlJldHVybiB0aGUgZm9ybSB0byBjb21wYXJlIHRoZSBlZmZvcnQgb2YgdGhlIGN1cnJlbnQgbGlu ZSB3aXRoIHdoYXQgRSBzYXlzLgogRSBsb29rcyBsaWtlIFwiKzwyOjI1XCIuIgpAQCAtNzY0MSwx MiArNzY1NCwxMiBAQCBXaGVuIE5PLU9QRVJBVE9SIGlzIG5vbi1uaWwsIGRvIG5vdCBhZGQgdGhl ICsgb3BlcmF0b3IgdG8gcmV0dXJuZWQgdGFncy4iCiAJKHJldmVyc2UgcnRuKSkKICAgICBmaWx0 ZXIpKQogCi0oZGVmdW4gb3JnLWFnZW5kYS1maWx0ZXItYXBwbHkgKGZpbHRlciB0eXBlKQorKGRl ZnVuIG9yZy1hZ2VuZGEtZmlsdGVyLWFwcGx5IChmaWx0ZXIgdHlwZSAmb3B0aW9uYWwgZXhwYW5k KQogICAiU2V0IEZJTFRFUiBhcyB0aGUgbmV3IGFnZW5kYSBmaWx0ZXIgYW5kIGFwcGx5IGl0LiIK ICAgOzsgRGVhY3RpdmF0ZSBgb3JnLWFnZW5kYS1lbnRyeS10ZXh0LW1vZGUnIHdoZW4gZmlsdGVy aW5nCiAgIChpZiBvcmctYWdlbmRhLWVudHJ5LXRleHQtbW9kZSAob3JnLWFnZW5kYS1lbnRyeS10 ZXh0LW1vZGUpKQogICAobGV0ICh0YWdzIGNhdCB0eHQpCi0gICAgKHNldHEgb3JnLWFnZW5kYS1m aWx0ZXItZm9ybSAob3JnLWFnZW5kYS1maWx0ZXItbWFrZS1tYXRjaGVyIGZpbHRlciB0eXBlKSkK KyAgICAoc2V0cSBvcmctYWdlbmRhLWZpbHRlci1mb3JtIChvcmctYWdlbmRhLWZpbHRlci1tYWtl LW1hdGNoZXIgZmlsdGVyIHR5cGUgZXhwYW5kKSkKICAgICA7OyBPbmx5IHNldCBgb3JnLWFnZW5k YS1maWx0ZXJlZC1ieS1jYXRlZ29yeScgdG8gdCB3aGVuIGEgdW5pcXVlCiAgICAgOzsgY2F0ZWdv cnkgaXMgdXNlZCBhcyB0aGUgZmlsdGVyOgogICAgIChzZXRxIG9yZy1hZ2VuZGEtZmlsdGVyZWQt YnktY2F0ZWdvcnkKQEAgLTc2NTgsMTEgKzc2NzEsNyBAQCBXaGVuIE5PLU9QRVJBVE9SIGlzIG5v bi1uaWwsIGRvIG5vdCBhZGQgdGhlICsgb3BlcmF0b3IgdG8gcmV0dXJuZWQgdGFncy4iCiAgICAg ICAod2hpbGUgKG5vdCAoZW9icCkpCiAJKGlmIChvcmctZ2V0LWF0LWJvbCAnb3JnLW1hcmtlcikK IAkgICAgKHByb2duCi0JICAgICAgKHNldHEgdGFncyA7IHVzZWQgaW4gZXZhbAotCQkgICAgKGFw cGx5ICdhcHBlbmQKLQkJCSAgIChtYXBjYXIgKGxhbWJkYSAoZikKLQkJCQkgICAgIChvcmctYWdl bmRhLWZpbHRlci1leHBhbmQtdGFncyAobGlzdCBmKSB0KSkKLQkJCQkgICAob3JnLWdldC1hdC1i b2wgJ3RhZ3MpKSkKKwkgICAgICAoc2V0cSB0YWdzIChvcmctZ2V0LWF0LWJvbCAndGFncykKIAkJ ICAgIGNhdCAob3JnLWdldC1hdC1lb2wgJ29yZy1jYXRlZ29yeSAxKQogCQkgICAgdHh0IChvcmct Z2V0LWF0LWVvbCAndHh0IDEpKQogCSAgICAgIChpZiAobm90IChldmFsIG9yZy1hZ2VuZGEtZmls dGVyLWZvcm0pKQpAQCAtOTk3Nyw3ICs5OTg2LDcgQEAgY3VycmVudCBISDpNTSB0aW1lLiIKIChk ZWZ1biBvcmctYWdlbmRhLXJlYXBwbHktZmlsdGVycyAoKQogICAiUmUtYXBwbHkgYWxsIGFnZW5k YSBmaWx0ZXJzLiIKICAgKG1hcGNhcgotICAgKGxhbWJkYShmKSAod2hlbiAoY2FyIGYpIChvcmct YWdlbmRhLWZpbHRlci1hcHBseSAoY2FyIGYpIChjYWRyIGYpKSkpCisgICAobGFtYmRhKGYpICh3 aGVuIChjYXIgZikgKG9yZy1hZ2VuZGEtZmlsdGVyLWFwcGx5IChjYXIgZikgKGNhZHIgZikgdCkp KQogICAgYCgoLG9yZy1hZ2VuZGEtdGFnLWZpbHRlciB0YWcpCiAgICAgICgsb3JnLWFnZW5kYS1j YXRlZ29yeS1maWx0ZXIgY2F0ZWdvcnkpCiAgICAgICgsb3JnLWFnZW5kYS1yZWdleHAtZmlsdGVy IHJlZ2V4cCkKLS0gCjEuOS4xCgo= --047d7bfea62a2e90b8050f7663fb Content-Type: application/octet-stream; name="0003-org-Nesting-grouptags.patch" Content-Disposition: attachment; filename="0003-org-Nesting-grouptags.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i6ckot592 RnJvbSBhNTM3ZTRmZTc2Yzk2N2RiMzU5MjNjMDJjYWU3OTAyYjA0YmU3ODhjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R3VzdGF2PTIwV2lrc3RyPUMzPUI2bT89IDxn dXN0YXZAVVZTZXJ2ZXI+CkRhdGU6IFNhdCwgMjQgSmFuIDIwMTUgMDI6NDc6NDcgKzAxMDAKU3Vi amVjdDogW1BBVENIIDMvM10gb3JnOiBOZXN0aW5nIGdyb3VwdGFncwoKKiBsaXNwL29yZy5lbCAo b3JnLXRhZ3MtZXhwYW5kKTogTmVzdGluZyBncm91cHRhZ3MuIEFsbG93aW5nIHN1YnRhZ3MKICB0 byBiZSBkZWZpbmVkIGFzIGdyb3VwcyB0aGVtc2VsdmVzLgoKICA6ICMrVEFHUzogWyBHcm91cCA6 IFN1Yk9uZSgxKSBTdWJUd28gXQogIDogIytUQUdTOiBbIFN1Yk9uZSA6IFN1Yk9uZTEgU3ViT25l MiBdCiAgOiAjK1RBR1M6IFsgU3ViVHdvIDogU3ViVHdvMSBTdWJUd28yIF0KCiAgU2hvdWxkIGJl IHNlZW4gYXMgYSB0cmVlIG9mIHRhZ3M6CiAgLSBHcm91cAogICAgLSBTdWJPbmUKICAgICAgLSBT dWJPbmUxCiAgICAgIC0gU3ViT25lMgogICAgLSBTdWJUd28KICAgICAgLSBTdWJUd28xCiAgICAg IC0gU3ViVHdvMgoKICBTZWFyY2hpbmcgZm9yICJHcm91cCIgc2hvdWxkIHJldHVybiBhbGwgdGFn cyBkZWZpbmVkIGFib3ZlLgotLS0KIGxpc3Avb3JnLmVsIHwgMjUgKysrKysrKysrKysrKysrKysr KysrKystLQogMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGlzcC9vcmcuZWwgYi9saXNwL29yZy5lbAppbmRleCA2YmI4ZWRmLi41 YzgwMjM4IDEwMDc1NQotLS0gYS9saXNwL29yZy5lbAorKysgYi9saXNwL29yZy5lbApAQCAtMTQ1 NDMsNyArMTQ1NDMsNyBAQCBTZWUgYWxzbyBgb3JnLXNjYW4tdGFncycuCiAJCQkgIG1hdGNoZXIp KSkKICAgICAoY29ucyBtYXRjaDAgbWF0Y2hlcikpKQogCi0oZGVmdW4gb3JnLXRhZ3MtZXhwYW5k IChtYXRjaCAmb3B0aW9uYWwgc2luZ2xlLWFzLWxpc3QgZG93bmNhc2VkKQorKGRlZnVuIG9yZy10 YWdzLWV4cGFuZCAobWF0Y2ggJm9wdGlvbmFsIHNpbmdsZS1hcy1saXN0IGRvd25jYXNlZCB0YWdz LWFscmVhZHktZXhwYW5kZWQpCiAgICJFeHBhbmQgZ3JvdXAgdGFncyBpbiBNQVRDSC4KIAogVGhp cyByZXBsYWNlcyBldmVyeSBncm91cCB0YWcgaW4gTUFUQ0ggd2l0aCBhIHJlZ2V4cCB0YWcgc2Vh cmNoLgpAQCAtMTQ1NzUsNiArMTQ1NzUsNyBAQCBXaGVuIERPV05DQVNFIGlzIG5vbi1uaWwsIGV4 cGFuZCBkb3duY2FzZWQgVEFHUy4iCiAJICAgICAodGFnZ3JvdXBzLWtleXMgKG1hcGNhciAnY2Fy IHRhZ2dyb3VwcykpCiAJICAgICAocmV0dXJuLW1hdGNoIChpZiBkb3duY2FzZWQgKGRvd25jYXNl IG1hdGNoKSBtYXRjaCkpCiAJICAgICAoY291bnQgMCkKKwkgICAgICh3b3JrLWFscmVhZHktZXhw YW5kZWQgdGFncy1hbHJlYWR5LWV4cGFuZGVkKQogCSAgICAgcmVnZXhwcy1pbi1tYXRjaCB0YWdz LWluLWdyb3VwIHJlZ2V4cC1pbi1ncm91cCByZWdleHAtaW4tZ3JvdXAtZXNjYXBlZCkKIAk7OyBA IGFuZCBfIGFyZSBhbGxvd2VkIGFzIHdvcmQtY29tcG9uZW50cyBpbiB0YWdzCiAJKG1vZGlmeS1z eW50YXgtZW50cnkgP0AgInciIHN0YWJsZSkKQEAgLTE0NTkyLDggKzE0NTkzLDIzIEBAIFdoZW4g RE9XTkNBU0UgaXMgbm9uLW5pbCwgZXhwYW5kIGRvd25jYXNlZCBUQUdTLiIKIAkgIChsZXQqICgo ZGlyIChtYXRjaC1zdHJpbmcgMSByZXR1cm4tbWF0Y2gpKQogCQkgKHRhZyAobWF0Y2gtc3RyaW5n IDIgcmV0dXJuLW1hdGNoKSkKIAkJICh0YWcgKGlmIGRvd25jYXNlZCAoZG93bmNhc2UgdGFnKSB0 YWcpKSkKLQkgICAgKHdoZW4gKG5vdCAoZ2V0LXRleHQtcHJvcGVydHkgMCAnZ3JvdXB0YWcgKG1h dGNoLXN0cmluZyAyIHJldHVybi1tYXRjaCkpKQorCSAgICAod2hlbiAoYW5kIChub3QgKGdldC10 ZXh0LXByb3BlcnR5IDAgJ2dyb3VwdGFnIChtYXRjaC1zdHJpbmcgMiByZXR1cm4tbWF0Y2gpKSkK KwkJICAgICAgIChub3QgKG1lbWJlciB0YWcgd29yay1hbHJlYWR5LWV4cGFuZGVkKSkpCiAJICAg ICAgKHNldHEgdGFncy1pbi1ncm91cCAoYXNzb2MgdGFnIHRhZ2dyb3VwcykpCisJICAgICAgKHNl dHEgd29yay1hbHJlYWR5LWV4cGFuZGVkIChhcHBlbmQgKGxpc3QgdGFnKSB3b3JrLWFscmVhZHkt ZXhwYW5kZWQpKQorCSAgICAgIDsgUmVjdXJzaXZlbHkgZXhwYW5kIGVhY2ggdGFnIGluIHRoZSBn cm91cCwgaWYgdGhlIHRhZyBoYXNuJ3QKKwkgICAgICA7IGFscmVhZHkgYmVlbiBleHBhbmRlZAor CSAgICAgIChsZXQgKHRhZ3MtZXhwYW5kZWQpCisJCShkb2xpc3QgKHggKGNkciB0YWdzLWluLWdy b3VwKSkKKwkJICAoaWYgKGFuZCAgKG1lbWJlciB4IHRhZ2dyb3Vwcy1rZXlzKQorCQkJICAgIChu b3QgKG1lbWJlciB4IHdvcmstYWxyZWFkeS1leHBhbmRlZCkpKQorCQkgICAgICAoc2V0cSB0YWdz LWV4cGFuZGVkIChkZWxldGUtZHVwcworCQkJCQkgICAoYXBwZW5kIChvcmctdGFncy1leHBhbmQg eCB0IGRvd25jYXNlZCB3b3JrLWFscmVhZHktZXhwYW5kZWQpCisJCQkJCQkgICB0YWdzLWV4cGFu ZGVkKSkpCisJCSAgICAoc2V0cSB0YWdzLWV4cGFuZGVkIChhcHBlbmQgKGxpc3QgeCkgdGFncy1l eHBhbmRlZCkpKQorCQkgIChzZXRxIHdvcmstYWxyZWFkeS1leHBhbmRlZCAoZGVsZXRlLWR1cHMg KGFwcGVuZCB0YWdzLWV4cGFuZGVkIHdvcmstYWxyZWFkeS1leHBhbmRlZCkpKSkKKwkJKHNldHEg dGFncy1pbi1ncm91cCAoZGVsZXRlLWR1cHMgKGNvbnMgKGNhciB0YWdzLWluLWdyb3VwKQorCQkJ CQkJICAgICAgIHRhZ3MtZXhwYW5kZWQpKSkpCiAJICAgICAgOyBGaWx0ZXIgdGFnLXJlZ2V4cHMg ZnJvbSB0YWdzCiAJICAgICAgKHNldHEgcmVnZXhwLWluLWdyb3VwLWVzY2FwZWQgKGRlbHEgbmls IChtYXBjYXIgKGxhbWJkYSAoeCkKIAkJCQkJCQkJKGlmIChzdHJpbmdwIHgpCkBAIC0xNDYxNSw2 ICsxNDYzMSwxMSBAQCBXaGVuIERPV05DQVNFIGlzIG5vbi1uaWwsIGV4cGFuZCBkb3duY2FzZWQg VEFHUy4iCiAJCQkoc2V0cSByZWdleHAtaW4tZ3JvdXAgKGNvbmNhdCAiXFx8IiAobWFwY29uY2F0 ICdpZGVudGl0eSByZWdleHAtaW4tZ3JvdXAgIlxcfCIpKSkpCiAJCSAgICAoc2V0cSB0YWdzLWlu LWdyb3VwIChjb25jYXQgZGlyICJ7XFw8IiAocmVnZXhwLW9wdCB0YWdzLWluLWdyb3VwKSByZWdl eHAtaW4tZ3JvdXAgICJcXD59IikpCiAJCSAgICAoaWYgKHN0cmluZ3AgdGFncy1pbi1ncm91cCkg KG9yZy1hZGQtcHJvcHMgdGFncy1pbi1ncm91cCAnKGdyb3VwdGFnIHQpKSkKKwkJICAgIDs7IFJl ZG8gdGhlIHJlZ2V4cC1tYXRjaCBiZWNhdXNlIHRoZSByZWN1cnNpdmUgY2FsbHMgc2VlbXMgdG8g bWVzcyBpdCB1cC4uLgorCQkgICAgKHdpdGgtc3ludGF4LXRhYmxlIHN0YWJsZQorCQkgICAgICAo c3RyaW5nLW1hdGNoCisJCSAgICAgICAoY29uY2F0ICJcXCg/MTpbKy1dP1xcKVxcKD8yOlxcPCIK KwkJCSAgICAgICAocmVnZXhwLW9wdCB0YWdncm91cHMta2V5cykgIlxcPlxcKSIpIHJldHVybi1t YXRjaCkpCiAJCSAgICAoc2V0cSByZXR1cm4tbWF0Y2ggKHJlcGxhY2UtbWF0Y2ggdGFncy1pbi1n cm91cCB0IHQgcmV0dXJuLW1hdGNoKSkpCiAgCQkoc2V0cSB0YWdzLWluLWdyb3VwIChhcHBlbmQg cmVnZXhwLWluLWdyb3VwLWVzY2FwZWQgdGFncy1pbi1ncm91cCkpKSkKICAJICAgIChzZXRxIHRh Z2dyb3Vwcy1rZXlzIChkZWxldGUgdGFnIHRhZ2dyb3Vwcy1rZXlzKSkpKQotLSAKMS45LjEKCg== --047d7bfea62a2e90b8050f7663fb--