Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wMhAU-000HBc-0V for pgsql-hackers@arkaria.postgresql.org; Tue, 12 May 2026 07:04:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wMhAS-003deG-2J for pgsql-hackers@arkaria.postgresql.org; Tue, 12 May 2026 07:04:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wMh7K-003Zx5-23 for pgsql-hackers@lists.postgresql.org; Tue, 12 May 2026 07:01:22 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wMh7I-00000000B3d-11oa for pgsql-hackers@postgresql.org; Tue, 12 May 2026 07:01:22 +0000 Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-67929ff6dbfso7844524a12.2 for ; Tue, 12 May 2026 00:01:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778569278; cv=none; d=google.com; s=arc-20240605; b=W9LwXqrst0YTKvwoY15PhjowM/JsRgSaxaTdi5jOGz7Kd9GSaviuYYbWUpow3GZS1J HSlVz6n7f+vw1u5s1ihlycuYPaKvETnFdYF/+jwA6A06vOHbU1+Hat70f97sMvf+YsjW lBooqMtM8BH2VLTKz/kNZrd3Y+/yvhooURoGgJhQwbleZTOOH6toR0hOadskrbLrccWU B3AddP2mm7nMxMTCTfDAM5g+CwXH+gLw+h5bQBgIw2qX5qs3iBF++z2T3wAXTWTPvQgz OhEJc3ciic/3u5pwkZtIUw0CawmvYpOTqkGl+so6OH4zeN62qzpXqaWH5d6DbRhQtPLn M23A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:dkim-signature; bh=swuwGD8JFPuX1sWucosnN7e5oOjw/qkkqgeoY3JreBI=; fh=i4EeZq2KiOQwd/0wQJFRqXIhLG5In0qmYXH11kXsMTQ=; b=YgJYl4hzbzDu2CLNRICUEukhSSS22R7fvC5e4ZVS+A2Sd75vDpbY+AjvphhrLQOqYY 7HIe8U5t9QFkdCK6IG56OSkNabyggSzTp/t3r4570ZVi5tm58nJDRqEyalESO26Jxqg2 L4Ms5pG/h7rW8gcQOTwgm1+3vyUmfOZgdPuttUXrlUhReDmAfbDkzb8QvPTB8VOchJ5Y EVmvecccyF/tRJR4WiqSyidha5aPv7kzKR6+gSB0pPUs5mtrZeSiEnzCgydLx186a6dU uWFkd24CIpcLmT4lkGMYvztVnqVqUHHjfZR0s5q51haElCvG0o+yNr+v11DJq/DfkYrj 3rkQ==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778569278; x=1779174078; darn=postgresql.org; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=swuwGD8JFPuX1sWucosnN7e5oOjw/qkkqgeoY3JreBI=; b=ohr3ErObiyxynu/ap38uz1IWlZv9M4tLD2pzVxRp1Uxve3fAXLJO4rrOUOhhfz59Mu Kl+OLfU38Y+AWIqfeHp255++Rahd8c/RlDX9gow87AS5u0ebwgLqSDfG0JPthWuL0uth E+94aZcsY9ho1QY50oWul7SzfV2SjG1+IlcjihvdJcirgZy3cgFMCugXtRve190TbMRs 7/gKWCgLepx/jVXOgJtx79qG+Do4eyFS73eGP32/aE9iFlGd3hjfA7OEH7zftcRIujM2 3QtMFP22WdCNGHbBpNwH4hVcphvg/a8xNAMSVPWURtPzG+UmsUbsm6n7J4wHgN5TYYTO zo+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778569278; x=1779174078; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=swuwGD8JFPuX1sWucosnN7e5oOjw/qkkqgeoY3JreBI=; b=LHjYj7fG0ADQ8ZAA87FFtFgilb6ceZGZRrpKqIBeJz1J0IBpEbsXFESHUC/yHF2nRW mDnD6HJqLedRsITxI7Cl7jXUkQU8SSOhNeEG1fsKyhGW8Wxn0Aznw/HXC0GDt17+lKGa ketEZTWBRZu+89I+20sLO6O8GraXg6oNXNihO2fvByNqmgpY5W9U6kIh+40R7Uwf/wGY OA7baEK3KVIfa/bBXzzq3qGqucyxQSuHNZJ+kzPiWpMkQ2C0NGBPPdhQMWmufWspqeIw VFalBopPpLJTFDJ66zE3sSlCtRfP0Hz2uvbs7ehw0Yv7kvNblHB74ec7A79qroJCEFyt 61/g== X-Forwarded-Encrypted: i=1; AFNElJ/V5FJXcf1YiWbWFGMeDD/YCq/TQrmSicorzVzGg9YqSXkl1YvyLhvHk52yd4oKgrk/B294GY8wI94nf/0j@postgresql.org X-Gm-Message-State: AOJu0Yz+GsFxQWl9S8brsAkM5LyO82w8ZJahQLIq/mLeN5O5/B1MO/vx So1O7OymNd8fZ5aexLY4CkH0M/JKvrEiDRfHaPTqJPREHFsTJRTg/Pp415xzMMp7wKxrE+zslqv TwRB5aTf+h5hULaklMKHF/Ib3/LGIQ6o= X-Gm-Gg: Acq92OGsY/g17SX/mNaTTlwuxAjMxQQVgBT+XlKZAIPl/GCgej0Vl/NVX61strpJrPE BiWrLutdrOMCI1zESB5Y7p0OOfuTaAr3AqfSboiiBSDtrda+gA06ZAtMh0jd7sQ1uHQh+7e9B+b HFD5Ou6Lls/1nkhQg/yKSNCS9S/29z6a6SrM7G/QR2L2FYlLTpSPoF9pg2D7INnc42iXjq0hEy2 nEvxSU8GvycLnh14eJ4Lc/ufgSgVM+irVtjEH8nItuLjap7WP0L25gMU7XtHI/90EGYbonOL03c VXCIRl0Ma9Lh/ryR8tLB6gZjvABruIZG5ETV9dE= X-Received: by 2002:a05:6402:5024:b0:66d:d07c:a8ea with SMTP id 4fb4d7f45d1cf-67d63d854bamr13544579a12.7.1778569277215; Tue, 12 May 2026 00:01:17 -0700 (PDT) MIME-Version: 1.0 References: <20260427.174220.1939160662649810289.ishii@postgresql.org> <20260502.140304.670813149418899420.ishii@postgresql.org> <20260512.150328.1502361632049642572.ishii@postgresql.org> In-Reply-To: <20260512.150328.1502361632049642572.ishii@postgresql.org> Reply-To: assam258@gmail.com From: Henson Choi Date: Tue, 12 May 2026 16:01:05 +0900 X-Gm-Features: AVHnY4LhLA4GWuN-yfN3wAuUEyg7281PAmWO1gVWenMiATZr7RZMggqQNhNUTT4 Message-ID: Subject: Re: Row pattern recognition To: Tatsuo Ishii Cc: zsolt.parragi@percona.com, sjjang112233@gmail.com, vik@postgresfriends.org, er@xs4all.nl, jacob.champion@enterprisedb.com, david.g.johnston@gmail.com, peter@eisentraut.org, li.evan.chao@gmail.com, pgsql-hackers@postgresql.org Content-Type: multipart/mixed; boundary="000000000000faa5060651996d0b" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000faa5060651996d0b Content-Type: multipart/alternative; boundary="000000000000faa5050651996d09" --000000000000faa5050651996d09 Content-Type: text/plain; charset="UTF-8" Hi Tatsuo, Four more incremental patches on top of the 2026-05-09 set (0001-0011). 0012-0013 close the previously deferred B7 recursive-CTE item, on the strength of your ISO/IEC 9075-2:2016 7.17 citation; 0014-0015 apply and round out the README.rpr enhancement you sent on 2026-05-12. Patch summary: > So I think at least SQL:2016 explicitly prohibits using RPR within > recursive CTE. I would appreciate if anybody confirms this in > SQL:2023. - 0012 Add rpr_integration B7 cases for RPR in recursive query Test-only prelude to 0013. Replaces the prior B7 case (RPR in a recursive CTE base leg, asserting it works) with two cases that the upcoming prohibition needs to cover: WITH RECURSIVE with RPR in the base leg, and CREATE RECURSIVE VIEW with an RPR window. Cites ISO/IEC 19075-5 6.17.5 (R020) and 4.18.5 (R010), and the formal rule in ISO/IEC 9075-2:2016 7.17 Syntax Rule 3)e)f) you pointed me to. Drops the deferred XXX comment that left this open to community input. Expected output still matches pre-rejection behavior; 0013 flips both queries to ERROR. - 0013 Reject row pattern recognition in recursive queries Per ISO/IEC 9075-2:2016 7.17 Syntax Rule 3)e)f), every in a WITH RECURSIVE clause is "potentially recursive" and shall not contain a . ISO/IEC 19075-5 6.17.5 (R020) and 4.18.5 (R010) restate the prohibition for CREATE RECURSIVE VIEW, which makeRecursiveViewSelect() already rewrites to WITH RECURSIVE so the same path catches both forms. The rejection runs in transformWithClause() against the raw parse tree, before per-CTE analysis, and reports the PATTERN keyword position via a new RPCommonSyntax.location field captured in gram.y. Flips both B7 cases from result rows to the new error. > Attached is the v47 patches for Row pattern recognition (SQL/RPR). > > > - Add src/backend/executor/README.rpr (previously was in ExecRPR.c) > > README.rpr is extremely useful for those who want to review the RPR > patches. I found a room to enhance the document. Attached is a small > patch tries to enhance README.rpr, on top of v47. > > - Make "target audience" and "scope" of the README more descriptive. > - Add References (currently the SQL standards only) > - Add explanation of some abbreviations (NFA, AST) > - Add reference sections for absorption. Readers might not be familiar > with "absorption" > - Add more fields to WindowAggState > - Add window framing rules with RPR > - 0014 Enhance README.rpr per Tatsuo Ishii's review Doc-only. Applies your off-list enhancement patch (2026-05-12) on top of v47 with no modification: * Make "target audience" and "scope" more descriptive, pointing readers to the SQL standard (with Oracle / Trino manuals as alternatives) * Spell out NFA and AST on first use * Cross-reference "IV-5. Absorbability Analysis" and "VIII-2. Solution: Context Absorption" from the RPR_ELEM_ABSORBABLE_BRANCH flag description * List nfaVisitedNWords, defineMatchStartDependent, and nfaLastProcessedRow in V-3 * State the window framing rules that apply with RPR * Add a References section (SQL standards) - 0015 Round out README.rpr WindowAggState field coverage Doc-only follow-up to 0014. Completes the V-3 field list (adds nfaVisitedMinWord / nfaVisitedMaxWord; notes that EXPLAIN ANALYZE instrumentation counters are intentionally omitted, with a pointer to execnodes.h) and mirrors the new fields in the Appendix B diagram, which still reflected the pre-review field list. Previously deferred items: - B7 Recursive CTE XXX: addressed in 0012 (tests) + 0013 (rejection) per the standards citations you supplied. Best regards, Henson --000000000000faa5050651996d09 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Tatsuo,


Four more increment= al patches on top of the 2026-05-09 set
(0001-0011). =C2=A00012-0013 clo= se the previously deferred B7
recursive-CTE item, on the strength of you= r ISO/IEC 9075-2:2016
7.17 citation; 0014-0015 apply and round out the R= EADME.rpr
enhancement you sent on 2026-05-12.


Patch summary:<= br>

> So I think at least SQL:2016 explicitly prohibits using RPR= within
>=C2=A0rec= ursive CTE. I would appreciate if anybody confirms this in
>=C2=A0SQL:2023.

=C2=A0 - 0= 012 Add rpr_integration B7 cases for RPR in recursive
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0query
=C2=A0 =C2=A0 =C2=A0 Test-only prelude to 0013.= =C2=A0 Replaces the prior B7 case
=C2=A0 =C2=A0 =C2=A0 (RPR in a recursi= ve CTE base leg, asserting it works)
=C2=A0 =C2=A0 =C2=A0 with two cases= that the upcoming prohibition needs to
=C2=A0 =C2=A0 =C2=A0 cover: WITH= RECURSIVE with RPR in the base leg, and
=C2=A0 =C2=A0 =C2=A0 CREATE REC= URSIVE VIEW with an RPR window.=C2=A0 Cites
=C2=A0 =C2=A0 =C2=A0 ISO/IEC= 19075-5 6.17.5 (R020) and 4.18.5 (R010), and
=C2=A0 =C2=A0 =C2=A0 the f= ormal rule in ISO/IEC 9075-2:2016 7.17 Syntax
=C2=A0 =C2=A0 =C2=A0 Rule = 3)e)f) you pointed me to.=C2=A0 Drops the deferred
=C2=A0 =C2=A0 =C2=A0 = XXX comment that left this open to community input.
=C2=A0 =C2=A0 =C2=A0= Expected output still matches pre-rejection behavior;
=C2=A0 =C2=A0 =C2= =A0 0013 flips both queries to ERROR.


=C2=A0 - 0013 Reject row p= attern recognition in recursive queries
=C2=A0 =C2=A0 =C2=A0 Per ISO/IEC= 9075-2:2016 7.17 Syntax Rule 3)e)f), every
=C2=A0 =C2=A0 =C2=A0 <wit= h list element> in a WITH RECURSIVE clause is
=C2=A0 =C2=A0 =C2=A0 &q= uot;potentially recursive" and shall not contain a
=C2=A0 =C2=A0 = =C2=A0 <row pattern common syntax>.=C2=A0 ISO/IEC 19075-5 6.17.5
= =C2=A0 =C2=A0 =C2=A0 (R020) and 4.18.5 (R010) restate the prohibition for=C2=A0 =C2=A0 =C2=A0 CREATE RECURSIVE VIEW, which makeRecursiveViewSelect= ()
=C2=A0 =C2=A0 =C2=A0 already rewrites to WITH RECURSIVE so the same p= ath
=C2=A0 =C2=A0 =C2=A0 catches both forms.=C2=A0 The rejection runs in=
=C2=A0 =C2=A0 =C2=A0 transformWithClause() against the raw parse tree,<= br>=C2=A0 =C2=A0 =C2=A0 before per-CTE analysis, and reports the PATTERN ke= yword
=C2=A0 =C2=A0 =C2=A0 position via a new RPCommonSyntax.location fi= eld
=C2=A0 =C2=A0 =C2=A0 captured in gram.y.=C2=A0 Flips both B7 cases f= rom result
=C2=A0 =C2=A0 =C2=A0 rows to the new error.


=
> Attached is the v47 patches for Row pattern re= cognition (SQL/RPR).

> - Add src/backend/executor/README.rpr (previously was in ExecRPR.c)
README.rpr is extremely useful for those who want to review the RPR
patches.=C2=A0 I found a room to enhance the document.=C2=A0 Attached is a = small
patch tries to enhance README.rpr, on top of v47.

- Make "target audience" and "scope" of the README more= descriptive.
- Add References (currently the SQL standards only)
- Add explanation of some abbreviations (NFA, AST)
- Add reference sections for absorption. Readers might not be familiar with= "absorption"
- Add more fields to WindowAggState
- Add window framing rules with RPR

=C2=A0 - 0014 Enhan= ce README.rpr per Tatsuo Ishii's review
=C2=A0 =C2=A0 =C2=A0 Doc-onl= y.=C2=A0 Applies your off-list enhancement patch
=C2=A0 =C2=A0 =C2=A0 (2= 026-05-12) on top of v47 with no modification:
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 * Make "target audience" and "scope" more
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 descriptive, pointing readers to the SQL stand= ard
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (with Oracle / Trino manuals as a= lternatives)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 * Spell out NFA and AST on firs= t use
=C2=A0 =C2=A0 =C2=A0 =C2=A0 * Cross-reference "IV-5. Absorbab= ility Analysis" and
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "VIII-2= . Solution: Context Absorption" from the
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 RPR_ELEM_ABSORBABLE_BRANCH flag description
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 * List nfaVisitedNWords, defineMatchStartDependent,
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 and nfaLastProcessedRow in V-3
=C2=A0 =C2=A0= =C2=A0 =C2=A0 * State the window framing rules that apply with RPR
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 * Add a References section (SQL standards)

=
=C2=A0 - 0015 Round out README.rpr WindowAggState field coverage
=C2= =A0 =C2=A0 =C2=A0 Doc-only follow-up to 0014.=C2=A0 Completes the V-3 field=
=C2=A0 =C2=A0 =C2=A0 list (adds nfaVisitedMinWord / nfaVisitedMaxWord; = notes
=C2=A0 =C2=A0 =C2=A0 that EXPLAIN ANALYZE instrumentation counters= are
=C2=A0 =C2=A0 =C2=A0 intentionally omitted, with a pointer to execn= odes.h)
=C2=A0 =C2=A0 =C2=A0 and mirrors the new fields in the Appendix = B diagram,
=C2=A0 =C2=A0 =C2=A0 which still reflected the pre-review fie= ld list.


Previously deferred items:
=C2=A0 - B7 Recursive CTE= XXX: addressed in 0012 (tests) + 0013
=C2=A0 =C2=A0 (rejection) per the= standards citations you supplied.


Best regards,
Henson= =C2=A0
--000000000000faa5050651996d09-- --000000000000faa5060651996d0b Content-Type: text/plain; charset="US-ASCII"; name="nocfbot-0012-rpr_integration-B7-recursive-CTE-cases.txt" Content-Disposition: attachment; filename="nocfbot-0012-rpr_integration-B7-recursive-CTE-cases.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mp2a5ujw0 RnJvbSBjZGEzN2MzYzgwNmM4ZWU5OWU3ZTIwNjBiZmFiNWI0MTA1YjcyOGFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIZW5zb24gQ2hvaSA8YXNzYW0yNThAZ21haWwuY29tPgpEYXRl OiBTdW4sIDEwIE1heSAyMDI2IDEzOjUxOjQ1ICswOTAwClN1YmplY3Q6IFtQQVRDSCAxMi8xNV0g QWRkIHJwcl9pbnRlZ3JhdGlvbiBCNyBjYXNlcyBmb3IgUlBSIGluIHJlY3Vyc2l2ZSBxdWVyeQoK UmVwbGFjZSB0aGUgcHJpb3IgQjcgdGVzdCAod2hpY2ggYXNzZXJ0ZWQgdGhhdCBhbiBSUFIgd2lu ZG93IHdvcmtzCmluIHRoZSBiYXNlIGxlZyBvZiBhIHJlY3Vyc2l2ZSBDVEUpIHdpdGggdHdvIGNh c2VzIHRoZSByZWN1cnNpdmUtUlBSCnByb2hpYml0aW9uIG5lZWRzIHRvIGNvdmVyOiBXSVRIIFJF Q1VSU0lWRSB3aXRoIFJQUiBpbiB0aGUgYmFzZSBsZWcsCmFuZCBDUkVBVEUgUkVDVVJTSVZFIFZJ RVcgd2l0aCBhbiBSUFIgd2luZG93LiAgQ2l0ZSBJU08vSUVDIDE5MDc1LTUKNi4xNy41IChSMDIw KSBhbmQgNC4xOC41IChSMDEwKSwgYW5kIHRoZSBmb3JtYWwgcnVsZSBpbiBJU08vSUVDCjkwNzUt MjoyMDE2IDcuMTcgU3ludGF4IFJ1bGUgMyllKWYpLCBhbmQgZHJvcCB0aGUgZGVmZXJyZWQgWFhY CmNvbW1lbnQgdGhhdCBsZWZ0IHRoaXMgY2FzZSBvcGVuIHRvIGNvbW11bml0eSBpbnB1dC4KCkV4 cGVjdGVkIG91dHB1dCBzdGlsbCBtYXRjaGVzIHRoZSBjdXJyZW50IChwcmUtcmVqZWN0aW9uKSBi ZWhhdmlvcjsKYSBmb2xsb3ctdXAgcGF0Y2ggYWRkcyB0aGUgcmVqZWN0aW9uIGluIHBhcnNlX2N0 ZS5jIGFuZCBmbGlwcyBib3RoCnF1ZXJpZXMgdG8gRVJST1IuCi0tLQogc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9ycHJfaW50ZWdyYXRpb24ub3V0IHwgNzEgKysrKysrLS0tLS0tLS0tLS0tLQog c3JjL3Rlc3QvcmVncmVzcy9zcWwvcnByX2ludGVncmF0aW9uLnNxbCAgICAgIHwgNDcgKysrKysr LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDc1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnByX2ludGVncmF0aW9u Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnByX2ludGVncmF0aW9uLm91dAppbmRl eCA3Y2JlZWQzMzQ3ZS4uMGIwNWE4MjZhMjcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnByX2ludGVncmF0aW9uLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL3Jwcl9pbnRlZ3JhdGlvbi5vdXQKQEAgLTEyNjksNTQgKzEyNjksMTggQEAgT1JERVIgQlkg by5pZCwgci5pZDsKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQogLS0gQjcuIFJQUiArIFJlY3Vyc2l2ZSBDVEUKIC0tID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gVmVyaWZ5IHRoYXQgYW4gUlBSIHdpbmRvdyBjYW4gYXBwZWFyIGluc2lkZSB0aGUgbm9uLXJl Y3Vyc2l2ZQotLS0gKGJhc2UpIGxlZyBvZiBhIHJlY3Vyc2l2ZSBDVEUuICBUaGUgcGxhbiBtdXN0 IHNob3cgdGhlIFJQUgotLS0gV2luZG93QWdnIHNpdHRpbmcgdW5kZXIgdGhlIFJlY3Vyc2l2ZSBV bmlvbiBhcyB0aGUgYmFzZS1sZWcKLS0tIGNoaWxkLCB3aXRoIHRoZSBXb3JrVGFibGUgU2NhbiBm ZWVkaW5nIHRoZSByZWN1cnNpdmUgbGVnIGFib3ZlCi0tLSBpdC4gIFRoaXMgY29uZmlybXMgdGhh dCBSUFIgb3V0cHV0IGNhbiBzZWVkIGEgcmVjdXJzaXZlIENURQotLS0gKHdpbmRvdyBmdW5jdGlv bnMgY2Fubm90IGFwcGVhciBpbiB0aGUgcmVjdXJzaXZlIGxlZyBpdHNlbGYsIGEKLS0tIFBvc3Rn cmVTUUwgcmVzdHJpY3Rpb24sIHNvIHRoaXMgaXMgdGhlIG5hdHVyYWwgcGxhY2UgdG8gZXhlcmNp c2UKLS0tICJSUFIgdW5kZXIgUmVjdXJzaXZlIFVuaW9uIikuCi0tLQotLS0gWFhYOiBXaGV0aGVy IHRoaXMgY2FzZSBmYWxscyB1bmRlciB0aGUgSVNPL0lFQyAxOTA3NS01IDYuMTcuNSAvCi0tLSA0 LjE4LjUgcHJvaGliaXRpb24gaXMgbm90IHNvbWV0aGluZyBJIGNhbiBqdWRnZS4gIElmIHRoaXMg Y2FzZQotLS0gaXMgbm90IHByb2hpYml0ZWQsIHRoZSBvcGVuIHF1ZXN0aW9uIGlzIHdoZXRoZXIg YSBxdWVyeSB0aGF0Ci0tLSBkb2VzIHRyaWdnZXIgdGhlIHByb2hpYml0aW9uIGNhbiBiZSBjb25z dHJ1Y3RlZCBhdCBhbGwuCi0tLSBXaGV0aGVyIHRvIHByb2hpYml0IHRoaXMgY2FzZSBpcyBsZWZ0 IHRvIHRoZSBjb21tdW5pdHkuCi0tLSBQbGFuOiBSZWN1cnNpdmUgVW5pb24gd2l0aCB0aGUgUlBS IFdpbmRvd0FnZyBvbiB0aGUgYmFzZSBsZWcgYW5kCi0tLSB0aGUgV29ya1RhYmxlIFNjYW4gb24g dGhlIHJlY3Vyc2l2ZSBsZWcuCi1FWFBMQUlOIChDT1NUUyBPRkYpCi1XSVRIIFJFQ1VSU0lWRSBz ZXEgQVMgKAotICAgIFNFTEVDVCBpZCwgdmFsLCBjb3VudCgqKSBPVkVSIHcgQVMgY250Ci0gICAg RlJPTSBycHJfaW50ZWcKLSAgICBXSU5ET1cgdyBBUyAoT1JERVIgQlkgaWQKLSAgICAgICAgUk9X UyBCRVRXRUVOIENVUlJFTlQgUk9XIEFORCBVTkJPVU5ERUQgRk9MTE9XSU5HCi0gICAgICAgIFBB VFRFUk4gKEEgQispCi0gICAgICAgIERFRklORSBCIEFTIHZhbCA+IFBSRVYodmFsKSkKLSAgICBV TklPTiBBTEwKLSAgICBTRUxFQ1QgaWQgKyAxMDAsIHZhbCwgY250IEZST00gc2VxIFdIRVJFIGlk IDwgMwotKQotU0VMRUNUIGlkLCB2YWwsIGNudCBGUk9NIHNlcSBPUkRFUiBCWSBpZDsKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBTb3J0Ci0gICBTb3J0IEtleTogc2Vx LmlkCi0gICBDVEUgc2VxCi0gICAgIC0+ICBSZWN1cnNpdmUgVW5pb24KLSAgICAgICAgICAgLT4g IFdpbmRvd0FnZwotICAgICAgICAgICAgICAgICBXaW5kb3c6IHcgQVMgKE9SREVSIEJZIHJwcl9p bnRlZy5pZCBST1dTIEJFVFdFRU4gQ1VSUkVOVCBST1cgQU5EIFVOQk9VTkRFRCBGT0xMT1dJTkcp Ci0gICAgICAgICAgICAgICAgIFBhdHRlcm46IGEgYisKLSAgICAgICAgICAgICAgICAgTmF2IE1h cmsgTG9va2JhY2s6IDEKLSAgICAgICAgICAgICAgICAgLT4gIFNvcnQKLSAgICAgICAgICAgICAg ICAgICAgICAgU29ydCBLZXk6IHJwcl9pbnRlZy5pZAotICAgICAgICAgICAgICAgICAgICAgICAt PiAgU2VxIFNjYW4gb24gcnByX2ludGVnCi0gICAgICAgICAgIC0+ICBXb3JrVGFibGUgU2NhbiBv biBzZXEgc2VxXzEKLSAgICAgICAgICAgICAgICAgRmlsdGVyOiAoaWQgPCAzKQotICAgLT4gIENU RSBTY2FuIG9uIHNlcQotKDE0IHJvd3MpCi0KLS0tIFJlc3VsdDogdGhlIGJhc2UgbGVnIGNvbnRy aWJ1dGVzIHRoZSBSUFIgbWF0Y2ggY291bnRzOyB0aGUKLS0tIHJlY3Vyc2l2ZSBsZWcgcHJvcGFn YXRlcyB0aG9zZSBjb3VudHMgd2l0aCBzaGlmdGVkIGlkcy4KKy0tIFZlcmlmeSB0aGF0IFJQUiBp cyByZWplY3RlZCBpbnNpZGUgYSByZWN1cnNpdmUgcXVlcnkuCistLSBJU08vSUVDIDE5MDc1LTUg Ni4xNy41IChSMDIwKSBhbmQgNC4xOC41IChSMDEwKSBjaXRlIENSRUFURQorLS0gUkVDVVJTSVZF IFZJRVcgZXhhbXBsZXMgYW5kIHN0YXRlIHRoYXQgInJvdyBwYXR0ZXJuIG1hdGNoaW5nCistLSBp cyBwcm9oaWJpdGVkIGluIHJlY3Vyc2l2ZSBxdWVyaWVzIi4gIFRoZSBmb3JtYWwgcnVsZSBsaXZl cyBpbgorLS0gSVNPL0lFQyA5MDc1LTI6MjAxNiA3LjE3IFN5bnRheCBSdWxlIDMpZik6IGEgcG90 ZW50aWFsbHkKKy0tIHJlY3Vyc2l2ZSA8d2l0aCBsaXN0IGVsZW1lbnQ+IHNoYWxsIG5vdCBjb250 YWluIGEgPHJvdyBwYXR0ZXJuCistLSBtZWFzdXJlcz4gb3IgPHJvdyBwYXR0ZXJuIGNvbW1vbiBz eW50YXg+LiAgUGVyIDMpZSksIGV2ZXJ5CistLSA8d2l0aCBsaXN0IGVsZW1lbnQ+IHVuZGVyIFdJ VEggUkVDVVJTSVZFIGlzICJwb3RlbnRpYWxseQorLS0gcmVjdXJzaXZlIiwgc28gdGhlIHJlamVj dGlvbiBjb3ZlcnMgdGhlIGJhc2UgKG5vbi1yZWN1cnNpdmUpCistLSBsZWcgdG9vLCBub3QganVz dCB0aGUgc2VsZi1yZWZlcmVuY2luZyBsZWcuCistLSBXSVRIIFJFQ1VSU0lWRTogUlBSIGluIHRo ZSBiYXNlIGxlZyBpcyByZWplY3RlZCBldmVuIHRob3VnaCB0aGUKKy0tIGJhc2UgbGVnIG5ldmVy IHJlZmVyZW5jZXMgdGhlIHJlY3Vyc2l2ZSBDVEUgbmFtZS4KIFdJVEggUkVDVVJTSVZFIHNlcSBB UyAoCiAgICAgU0VMRUNUIGlkLCB2YWwsIGNvdW50KCopIE9WRVIgdyBBUyBjbnQKICAgICBGUk9N IHJwcl9pbnRlZwpAQCAtMTM0NCw2ICsxMzA4LDE3IEBAIFNFTEVDVCBpZCwgdmFsLCBjbnQgRlJP TSBzZXEgT1JERVIgQlkgaWQ7CiAgMTAyIHwgIDIwIHwgICAwCiAoMTIgcm93cykKIAorLS0gQ1JF QVRFIFJFQ1VSU0lWRSBWSUVXOiByZXdyaXR0ZW4gYnkgbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3Qo KQorLS0gaW50byBXSVRIIFJFQ1VSU0lWRSwgc28gdGhlIHNhbWUgcmVqZWN0aW9uIGFwcGxpZXMu ICBUaGlzIGlzCistLSB0aGUgZm9ybSBJU08vSUVDIDE5MDc1LTUgNi4xNy41IGNpdGVzIHZlcmJh dGltLgorQ1JFQVRFIFJFQ1VSU0lWRSBWSUVXIHJwcl9yZWN2KGlkLCB2YWwsIGNudCkgQVMKKyAg ICBTRUxFQ1QgaWQsIHZhbCwgY291bnQoKikgT1ZFUiB3CisgICAgRlJPTSBycHJfaW50ZWcKKyAg ICBXSU5ET1cgdyBBUyAoT1JERVIgQlkgaWQKKyAgICAgICAgUk9XUyBCRVRXRUVOIENVUlJFTlQg Uk9XIEFORCBVTkJPVU5ERUQgRk9MTE9XSU5HCisgICAgICAgIFBBVFRFUk4gKEEgQispCisgICAg ICAgIERFRklORSBCIEFTIHZhbCA+IFBSRVYodmFsKSk7CitEUk9QIFZJRVcgcnByX3JlY3Y7CiAt LSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KIC0tIEI4LiBSUFIgKyBJbmNyZW1lbnRhbCBzb3J0CiAtLSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Jwcl9pbnRlZ3JhdGlvbi5zcWwgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9ycHJfaW50ZWdyYXRpb24uc3FsCmluZGV4IGY0MjY3Yzc0NjQ1Li5iYzhmNDcxMmJj YiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcnByX2ludGVncmF0aW9uLnNxbAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHJfaW50ZWdyYXRpb24uc3FsCkBAIC03ODMsMjQg Kzc4MywxOSBAQCBPUkRFUiBCWSBvLmlkLCByLmlkOwogLS0gPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSBCNy4gUlBSICsgUmVj dXJzaXZlIENURQogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBWZXJpZnkgdGhhdCBhbiBSUFIgd2luZG93IGNhbiBhcHBl YXIgaW5zaWRlIHRoZSBub24tcmVjdXJzaXZlCi0tLSAoYmFzZSkgbGVnIG9mIGEgcmVjdXJzaXZl IENURS4gIFRoZSBwbGFuIG11c3Qgc2hvdyB0aGUgUlBSCi0tLSBXaW5kb3dBZ2cgc2l0dGluZyB1 bmRlciB0aGUgUmVjdXJzaXZlIFVuaW9uIGFzIHRoZSBiYXNlLWxlZwotLS0gY2hpbGQsIHdpdGgg dGhlIFdvcmtUYWJsZSBTY2FuIGZlZWRpbmcgdGhlIHJlY3Vyc2l2ZSBsZWcgYWJvdmUKLS0tIGl0 LiAgVGhpcyBjb25maXJtcyB0aGF0IFJQUiBvdXRwdXQgY2FuIHNlZWQgYSByZWN1cnNpdmUgQ1RF Ci0tLSAod2luZG93IGZ1bmN0aW9ucyBjYW5ub3QgYXBwZWFyIGluIHRoZSByZWN1cnNpdmUgbGVn IGl0c2VsZiwgYQotLS0gUG9zdGdyZVNRTCByZXN0cmljdGlvbiwgc28gdGhpcyBpcyB0aGUgbmF0 dXJhbCBwbGFjZSB0byBleGVyY2lzZQotLS0gIlJQUiB1bmRlciBSZWN1cnNpdmUgVW5pb24iKS4K LS0tCi0tLSBYWFg6IFdoZXRoZXIgdGhpcyBjYXNlIGZhbGxzIHVuZGVyIHRoZSBJU08vSUVDIDE5 MDc1LTUgNi4xNy41IC8KLS0tIDQuMTguNSBwcm9oaWJpdGlvbiBpcyBub3Qgc29tZXRoaW5nIEkg Y2FuIGp1ZGdlLiAgSWYgdGhpcyBjYXNlCi0tLSBpcyBub3QgcHJvaGliaXRlZCwgdGhlIG9wZW4g cXVlc3Rpb24gaXMgd2hldGhlciBhIHF1ZXJ5IHRoYXQKLS0tIGRvZXMgdHJpZ2dlciB0aGUgcHJv aGliaXRpb24gY2FuIGJlIGNvbnN0cnVjdGVkIGF0IGFsbC4KLS0tIFdoZXRoZXIgdG8gcHJvaGli aXQgdGhpcyBjYXNlIGlzIGxlZnQgdG8gdGhlIGNvbW11bml0eS4KLQotLS0gUGxhbjogUmVjdXJz aXZlIFVuaW9uIHdpdGggdGhlIFJQUiBXaW5kb3dBZ2cgb24gdGhlIGJhc2UgbGVnIGFuZAotLS0g dGhlIFdvcmtUYWJsZSBTY2FuIG9uIHRoZSByZWN1cnNpdmUgbGVnLgotRVhQTEFJTiAoQ09TVFMg T0ZGKQorLS0gVmVyaWZ5IHRoYXQgUlBSIGlzIHJlamVjdGVkIGluc2lkZSBhIHJlY3Vyc2l2ZSBx dWVyeS4KKy0tIElTTy9JRUMgMTkwNzUtNSA2LjE3LjUgKFIwMjApIGFuZCA0LjE4LjUgKFIwMTAp IGNpdGUgQ1JFQVRFCistLSBSRUNVUlNJVkUgVklFVyBleGFtcGxlcyBhbmQgc3RhdGUgdGhhdCAi cm93IHBhdHRlcm4gbWF0Y2hpbmcKKy0tIGlzIHByb2hpYml0ZWQgaW4gcmVjdXJzaXZlIHF1ZXJp ZXMiLiAgVGhlIGZvcm1hbCBydWxlIGxpdmVzIGluCistLSBJU08vSUVDIDkwNzUtMjoyMDE2IDcu MTcgU3ludGF4IFJ1bGUgMylmKTogYSBwb3RlbnRpYWxseQorLS0gcmVjdXJzaXZlIDx3aXRoIGxp c3QgZWxlbWVudD4gc2hhbGwgbm90IGNvbnRhaW4gYSA8cm93IHBhdHRlcm4KKy0tIG1lYXN1cmVz PiBvciA8cm93IHBhdHRlcm4gY29tbW9uIHN5bnRheD4uICBQZXIgMyllKSwgZXZlcnkKKy0tIDx3 aXRoIGxpc3QgZWxlbWVudD4gdW5kZXIgV0lUSCBSRUNVUlNJVkUgaXMgInBvdGVudGlhbGx5Cist LSByZWN1cnNpdmUiLCBzbyB0aGUgcmVqZWN0aW9uIGNvdmVycyB0aGUgYmFzZSAobm9uLXJlY3Vy c2l2ZSkKKy0tIGxlZyB0b28sIG5vdCBqdXN0IHRoZSBzZWxmLXJlZmVyZW5jaW5nIGxlZy4KKwor LS0gV0lUSCBSRUNVUlNJVkU6IFJQUiBpbiB0aGUgYmFzZSBsZWcgaXMgcmVqZWN0ZWQgZXZlbiB0 aG91Z2ggdGhlCistLSBiYXNlIGxlZyBuZXZlciByZWZlcmVuY2VzIHRoZSByZWN1cnNpdmUgQ1RF IG5hbWUuCiBXSVRIIFJFQ1VSU0lWRSBzZXEgQVMgKAogICAgIFNFTEVDVCBpZCwgdmFsLCBjb3Vu dCgqKSBPVkVSIHcgQVMgY250CiAgICAgRlJPTSBycHJfaW50ZWcKQEAgLTgxMywxOSArODA4LDE3 IEBAIFdJVEggUkVDVVJTSVZFIHNlcSBBUyAoCiApCiBTRUxFQ1QgaWQsIHZhbCwgY250IEZST00g c2VxIE9SREVSIEJZIGlkOwogCi0tLSBSZXN1bHQ6IHRoZSBiYXNlIGxlZyBjb250cmlidXRlcyB0 aGUgUlBSIG1hdGNoIGNvdW50czsgdGhlCi0tLSByZWN1cnNpdmUgbGVnIHByb3BhZ2F0ZXMgdGhv c2UgY291bnRzIHdpdGggc2hpZnRlZCBpZHMuCi1XSVRIIFJFQ1VSU0lWRSBzZXEgQVMgKAotICAg IFNFTEVDVCBpZCwgdmFsLCBjb3VudCgqKSBPVkVSIHcgQVMgY250CistLSBDUkVBVEUgUkVDVVJT SVZFIFZJRVc6IHJld3JpdHRlbiBieSBtYWtlUmVjdXJzaXZlVmlld1NlbGVjdCgpCistLSBpbnRv IFdJVEggUkVDVVJTSVZFLCBzbyB0aGUgc2FtZSByZWplY3Rpb24gYXBwbGllcy4gIFRoaXMgaXMK Ky0tIHRoZSBmb3JtIElTTy9JRUMgMTkwNzUtNSA2LjE3LjUgY2l0ZXMgdmVyYmF0aW0uCitDUkVB VEUgUkVDVVJTSVZFIFZJRVcgcnByX3JlY3YoaWQsIHZhbCwgY250KSBBUworICAgIFNFTEVDVCBp ZCwgdmFsLCBjb3VudCgqKSBPVkVSIHcKICAgICBGUk9NIHJwcl9pbnRlZwogICAgIFdJTkRPVyB3 IEFTIChPUkRFUiBCWSBpZAogICAgICAgICBST1dTIEJFVFdFRU4gQ1VSUkVOVCBST1cgQU5EIFVO Qk9VTkRFRCBGT0xMT1dJTkcKICAgICAgICAgUEFUVEVSTiAoQSBCKykKLSAgICAgICAgREVGSU5F IEIgQVMgdmFsID4gUFJFVih2YWwpKQotICAgIFVOSU9OIEFMTAotICAgIFNFTEVDVCBpZCArIDEw MCwgdmFsLCBjbnQgRlJPTSBzZXEgV0hFUkUgaWQgPCAzCi0pCi1TRUxFQ1QgaWQsIHZhbCwgY250 IEZST00gc2VxIE9SREVSIEJZIGlkOworICAgICAgICBERUZJTkUgQiBBUyB2YWwgPiBQUkVWKHZh bCkpOworRFJPUCBWSUVXIHJwcl9yZWN2OwogCiAtLSA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tIEI4LiBSUFIgKyBJbmNyZW1l bnRhbCBzb3J0Ci0tIAoyLjUwLjEgKEFwcGxlIEdpdC0xNTUpCgo= --000000000000faa5060651996d0b Content-Type: text/plain; charset="US-ASCII"; name="nocfbot-0013-Reject-RPR-in-recursive-queries.txt" Content-Disposition: attachment; filename="nocfbot-0013-Reject-RPR-in-recursive-queries.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mp2a5wsh1 RnJvbSBlMGEyYTg0MjBjZjAwYTgwNzc4NGYwYWE3ZGNmNzQzODJiNjY1MjVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIZW5zb24gQ2hvaSA8YXNzYW0yNThAZ21haWwuY29tPgpEYXRl OiBTdW4sIDEwIE1heSAyMDI2IDE0OjQyOjA5ICswOTAwClN1YmplY3Q6IFtQQVRDSCAxMy8xNV0g UmVqZWN0IHJvdyBwYXR0ZXJuIHJlY29nbml0aW9uIGluIHJlY3Vyc2l2ZSBxdWVyaWVzCgpQZXIg SVNPL0lFQyA5MDc1LTI6MjAxNiA3LjE3IFN5bnRheCBSdWxlIDMpZSlmKSwgZXZlcnkgPHdpdGgg bGlzdAplbGVtZW50PiBpbiBhIFdJVEggUkVDVVJTSVZFIGNsYXVzZSBpcyAicG90ZW50aWFsbHkg cmVjdXJzaXZlIiBhbmQKc2hhbGwgbm90IGNvbnRhaW4gYSA8cm93IHBhdHRlcm4gY29tbW9uIHN5 bnRheD4uICBJU08vSUVDIDE5MDc1LTUKNi4xNy41IChSMDIwKSBhbmQgNC4xOC41IChSMDEwKSBy ZXN0YXRlIHRoZSBwcm9oaWJpdGlvbiBmb3IgQ1JFQVRFClJFQ1VSU0lWRSBWSUVXLCB3aGljaCBt YWtlUmVjdXJzaXZlVmlld1NlbGVjdCgpIHJld3JpdGVzIHRvIFdJVEgKUkVDVVJTSVZFIHNvIHRo ZSBzYW1lIHBhdGggY2F0Y2hlcyBib3RoIGZvcm1zLgoKVGhlIHJlamVjdGlvbiBydW5zIGluIHRy YW5zZm9ybVdpdGhDbGF1c2UoKSBhZ2FpbnN0IHRoZSByYXcgcGFyc2UKdHJlZSwgYmVmb3JlIHBl ci1DVEUgYW5hbHlzaXMsIGFuZCByZXBvcnRzIHRoZSBQQVRURVJOIGtleXdvcmQKcG9zaXRpb24g dmlhIGEgbmV3IFJQQ29tbW9uU3ludGF4LmxvY2F0aW9uIGZpZWxkIGNhcHR1cmVkIGluCmdyYW0u eS4gIEZsaXBzIGJvdGggcnByX2ludGVncmF0aW9uIEI3IGNhc2VzIChhZGRlZCBpbiB0aGUKcHJl Y2VkaW5nIGNvbW1pdCkgZnJvbSByZXN1bHQgcm93cyB0byB0aGUgbmV3IGVycm9yLgotLS0KIHNy Yy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIHNyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV9jdGUuYyAgICAgICAgICAgICAgICB8IDU4ICsrKysrKysrKysr KysrKysrKy0KIHNyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8 ICAxICsKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnByX2ludGVncmF0aW9uLm91dCB8IDIz ICsrLS0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHJfaW50ZWdyYXRpb24uc3FsICAgICAg fCAgMSAtCiBzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAgICAgICAgfCAg MSArCiA2IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJz ZXIvZ3JhbS55CmluZGV4IGFhNTg3ZTZhY2VkLi5hMmZhZmI3MTdjZCAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBA IC0xNzU4NSw2ICsxNzU4NSw3IEBAIG9wdF9yb3dfcGF0dGVybl9za2lwX3RvIG9wdF9yb3dfcGF0 dGVybl9pbml0aWFsX29yX3NlZWsKIAkJCQluLT5pbml0aWFsID0gJDI7CiAJCQkJbi0+cnBQYXR0 ZXJuID0gKFJQUlBhdHRlcm5Ob2RlICopICQ1OwogCQkJCW4tPnJwRGVmcyA9ICQ4OworCQkJCW4t PmxvY2F0aW9uID0gQDM7CiAJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJfQogCQkJfCAvKkVNUFRZ Ki8JCXsgJCQgPSBOVUxMOyB9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2Vf Y3RlLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY3RlLmMKaW5kZXggY2NkZTE5OTMxOWEu LjM4MzA1OTdiYjJiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY3RlLmMK KysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2N0ZS5jCkBAIC05Niw2ICs5NiwxNCBAQCBz dGF0aWMgdm9pZCBjaGVja1dlbGxGb3JtZWRSZWN1cnNpb24oQ3RlU3RhdGUgKmNzdGF0ZSk7CiBz dGF0aWMgYm9vbCBjaGVja1dlbGxGb3JtZWRSZWN1cnNpb25XYWxrZXIoTm9kZSAqbm9kZSwgQ3Rl U3RhdGUgKmNzdGF0ZSk7CiBzdGF0aWMgdm9pZCBjaGVja1dlbGxGb3JtZWRTZWxlY3RTdG10KFNl bGVjdFN0bXQgKnN0bXQsIEN0ZVN0YXRlICpjc3RhdGUpOwogCisvKiBSZWN1cnNpdmUtV0lUSCBS UFIgcmVqZWN0aW9uICovCit0eXBlZGVmIHN0cnVjdAoreworCVBhcnNlTG9jCWxvY2F0aW9uOwkJ LyogbG9jYXRpb24gb2YgZmlyc3QgUlBSIHdpbmRvdywgb3IgLTEgKi8KK30gQ29udGFpblJQUkNv bnRleHQ7CisKK3N0YXRpYyBib29sIGNvbnRhaW5fcnByX3dhbGtlcihOb2RlICpub2RlLCB2b2lk ICpjb250ZXh0KTsKKwogCiAvKgogICogdHJhbnNmb3JtV2l0aENsYXVzZSAtCkBAIC0xNTcsMTMg KzE2NSwzMSBAQCB0cmFuc2Zvcm1XaXRoQ2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwgV2l0aENs YXVzZSAqd2l0aENsYXVzZSkKIAlpZiAod2l0aENsYXVzZS0+cmVjdXJzaXZlKQogCXsKIAkJLyoK LQkJICogRm9yIFdJVEggUkVDVVJTSVZFLCB3ZSByZWFycmFuZ2UgdGhlIGxpc3QgZWxlbWVudHMg aWYgbmVlZGVkIHRvCi0JCSAqIGVsaW1pbmF0ZSBmb3J3YXJkIHJlZmVyZW5jZXMuICBGaXJzdCwg YnVpbGQgYSB3b3JrIGFycmF5IGFuZCBzZXQgdXAKLQkJICogdGhlIGRhdGEgc3RydWN0dXJlIG5l ZWRlZCBieSB0aGUgdHJlZSB3YWxrZXJzLgorCQkgKiBQZXIgSVNPL0lFQyA5MDc1LTI6MjAxNiA3 LjE3IFN5bnRheCBSdWxlIDMpZSlmKSwgZXZlcnkgPHdpdGggbGlzdAorCQkgKiBlbGVtZW50PiBp biBhIFdJVEggUkVDVVJTSVZFIGNsYXVzZSBpcyAicG90ZW50aWFsbHkgcmVjdXJzaXZlIiBhbmQK KwkJICogc2hhbGwgbm90IGNvbnRhaW4gYSA8cm93IHBhdHRlcm4gY29tbW9uIHN5bnRheD4uICAo UG9zdGdyZVNRTCBkb2VzCisJCSAqIG5vdCBpbXBsZW1lbnQgPHJvdyBwYXR0ZXJuIG1lYXN1cmVz Piwgc28gb25seSB0aGUgY29tbW9uIHN5bnRheAorCQkgKiBuZWVkcyB0byBiZSBjaGVja2VkLikg IElTTy9JRUMgMTkwNzUtNSA2LjE3LjUgKFIwMjApIGFuZCA0LjE4LjUKKwkJICogKFIwMTApIHJl c3RhdGUgdGhlIHByb2hpYml0aW9uIGZvciBDUkVBVEUgUkVDVVJTSVZFIFZJRVcsIHdoaWNoIGlz CisJCSAqIHJld3JpdHRlbiB0byBXSVRIIFJFQ1VSU0lWRSBieSBtYWtlUmVjdXJzaXZlVmlld1Nl bGVjdCgpIGFuZCBzbworCQkgKiBmbG93cyB0aHJvdWdoIGhlcmUgYXMgd2VsbC4KIAkJICovCiAJ CUN0ZVN0YXRlCWNzdGF0ZTsKIAkJaW50CQkJaTsKIAorCQlmb3JlYWNoKGxjLCB3aXRoQ2xhdXNl LT5jdGVzKQorCQl7CisJCQlDb21tb25UYWJsZUV4cHIgKmN0ZSA9IChDb21tb25UYWJsZUV4cHIg KikgbGZpcnN0KGxjKTsKKwkJCUNvbnRhaW5SUFJDb250ZXh0IGN0eDsKKworCQkJY3R4LmxvY2F0 aW9uID0gLTE7CisJCQlpZiAoY29udGFpbl9ycHJfd2Fsa2VyKGN0ZS0+Y3RlcXVlcnksICZjdHgp KQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQllcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1Rf U1VQUE9SVEVEKSwKKwkJCQkJCWVycm1zZygiY2Fubm90IHVzZSByb3cgcGF0dGVybiByZWNvZ25p dGlvbiBpbiBhIHJlY3Vyc2l2ZSBxdWVyeSIpLAorCQkJCQkJcGFyc2VyX2VycnBvc2l0aW9uKHBz dGF0ZSwgY3R4LmxvY2F0aW9uKSk7CisJCX0KKwogCQljc3RhdGUucHN0YXRlID0gcHN0YXRlOwog CQljc3RhdGUubnVtaXRlbXMgPSBsaXN0X2xlbmd0aCh3aXRoQ2xhdXNlLT5jdGVzKTsKIAkJY3N0 YXRlLml0ZW1zID0gKEN0ZUl0ZW0gKikgcGFsbG9jMChjc3RhdGUubnVtaXRlbXMgKiBzaXplb2Yo Q3RlSXRlbSkpOwpAQCAtMTI2OCwzICsxMjk0LDI5IEBAIGNoZWNrV2VsbEZvcm1lZFNlbGVjdFN0 bXQoU2VsZWN0U3RtdCAqc3RtdCwgQ3RlU3RhdGUgKmNzdGF0ZSkKIAkJfQogCX0KIH0KKworCisv KgorICogY29udGFpbl9ycHJfd2Fsa2VyCisgKgkgIFJldHVybnMgdHJ1ZSBpZiB0aGUgcmF3IHBh cnNlIHRyZWUgY29udGFpbnMgYW55IDxyb3cgcGF0dGVybiBjb21tb24KKyAqCSAgc3ludGF4PiAt LSBpLmUuLCBhbnkgV2luZG93RGVmIHdpdGggUEFUVEVSTi9ERUZJTkUgYXR0YWNoZWQuICBVc2Vk CisgKgkgIGJ5IHRyYW5zZm9ybVdpdGhDbGF1c2UoKSB0byBlbmZvcmNlIElTTy9JRUMgOTA3NS0y OjIwMTYgNy4xNyBTUiAzKWYpCisgKgkgIG9uIFdJVEggUkVDVVJTSVZFIGVsZW1lbnRzLgorICov CitzdGF0aWMgYm9vbAorY29udGFpbl9ycHJfd2Fsa2VyKE5vZGUgKm5vZGUsIHZvaWQgKmNvbnRl eHQpCit7CisJaWYgKG5vZGUgPT0gTlVMTCkKKwkJcmV0dXJuIGZhbHNlOworCWlmIChJc0Eobm9k ZSwgV2luZG93RGVmKSkKKwl7CisJCVdpbmRvd0RlZiAgKndkID0gKFdpbmRvd0RlZiAqKSBub2Rl OworCisJCWlmICh3ZC0+cnBDb21tb25TeW50YXggIT0gTlVMTCkKKwkJeworCQkJKChDb250YWlu UlBSQ29udGV4dCAqKSBjb250ZXh0KS0+bG9jYXRpb24gPSB3ZC0+cnBDb21tb25TeW50YXgtPmxv Y2F0aW9uOworCQkJcmV0dXJuIHRydWU7CisJCX0KKwl9CisJcmV0dXJuIHJhd19leHByZXNzaW9u X3RyZWVfd2Fsa2VyKG5vZGUsIGNvbnRhaW5fcnByX3dhbGtlciwgY29udGV4dCk7Cit9CmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rl cy9wYXJzZW5vZGVzLmgKaW5kZXggYWRlZmIxZDViYWQuLjUyMDAxODJhYTQ2IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2luY2x1ZGUvbm9kZXMv cGFyc2Vub2Rlcy5oCkBAIC02NDYsNiArNjQ2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUlBDb21tb25T eW50YXgKIAlSUFJQYXR0ZXJuTm9kZSAqcnBQYXR0ZXJuOwkvKiBQQVRURVJOIGNsYXVzZSBBU1Qg Ki8KIAlMaXN0CSAgICpycERlZnM7CQkJLyogcm93IHBhdHRlcm4gZGVmaW5pdGlvbnMgY2xhdXNl IChsaXN0IG9mCiAJCQkJCQkJCSAqIFJlc1RhcmdldCkgKi8KKwlQYXJzZUxvYwlsb2NhdGlvbjsJ CS8qIFBBVFRFUk4ga2V5d29yZCBsb2NhdGlvbiwgb3IgLTEgKi8KIH0gUlBDb21tb25TeW50YXg7 CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jwcl9pbnRlZ3Jh dGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jwcl9pbnRlZ3JhdGlvbi5vdXQK aW5kZXggMGIwNWE4MjZhMjcuLmI1OThlZjk1Nzc2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3Jwcl9pbnRlZ3JhdGlvbi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9ycHJfaW50ZWdyYXRpb24ub3V0CkBAIC0xMjkyLDIyICsxMjkyLDkgQEAgV0lUSCBS RUNVUlNJVkUgc2VxIEFTICgKICAgICBTRUxFQ1QgaWQgKyAxMDAsIHZhbCwgY250IEZST00gc2Vx IFdIRVJFIGlkIDwgMwogKQogU0VMRUNUIGlkLCB2YWwsIGNudCBGUk9NIHNlcSBPUkRFUiBCWSBp ZDsKLSBpZCAgfCB2YWwgfCBjbnQgCi0tLS0tLSstLS0tLSstLS0tLQotICAgMSB8ICAxMCB8ICAg MgotICAgMiB8ICAyMCB8ICAgMAotICAgMyB8ICAxNSB8ICAgMgotICAgNCB8ICAyNSB8ICAgMAot ICAgNSB8ICAgNSB8ICAgMwotICAgNiB8ICAzMCB8ICAgMAotICAgNyB8ICAzNSB8ICAgMAotICAg OCB8ICAyMCB8ICAgMwotICAgOSB8ICA0MCB8ICAgMAotICAxMCB8ICA0NSB8ICAgMAotIDEwMSB8 ICAxMCB8ICAgMgotIDEwMiB8ICAyMCB8ICAgMAotKDEyIHJvd3MpCi0KK0VSUk9SOiAgY2Fubm90 IHVzZSByb3cgcGF0dGVybiByZWNvZ25pdGlvbiBpbiBhIHJlY3Vyc2l2ZSBxdWVyeQorTElORSA2 OiAgICAgICAgIFBBVFRFUk4gKEEgQispCisgICAgICAgICAgICAgICAgXgogLS0gQ1JFQVRFIFJF Q1VSU0lWRSBWSUVXOiByZXdyaXR0ZW4gYnkgbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoKQogLS0g aW50byBXSVRIIFJFQ1VSU0lWRSwgc28gdGhlIHNhbWUgcmVqZWN0aW9uIGFwcGxpZXMuICBUaGlz IGlzCiAtLSB0aGUgZm9ybSBJU08vSUVDIDE5MDc1LTUgNi4xNy41IGNpdGVzIHZlcmJhdGltLgpA QCAtMTMxOCw3ICsxMzA1LDkgQEAgQ1JFQVRFIFJFQ1VSU0lWRSBWSUVXIHJwcl9yZWN2KGlkLCB2 YWwsIGNudCkgQVMKICAgICAgICAgUk9XUyBCRVRXRUVOIENVUlJFTlQgUk9XIEFORCBVTkJPVU5E RUQgRk9MTE9XSU5HCiAgICAgICAgIFBBVFRFUk4gKEEgQispCiAgICAgICAgIERFRklORSBCIEFT IHZhbCA+IFBSRVYodmFsKSk7Ci1EUk9QIFZJRVcgcnByX3JlY3Y7CitFUlJPUjogIGNhbm5vdCB1 c2Ugcm93IHBhdHRlcm4gcmVjb2duaXRpb24gaW4gYSByZWN1cnNpdmUgcXVlcnkKK0xJTkUgNjog ICAgICAgICBQQVRURVJOIChBIEIrKQorICAgICAgICAgICAgICAgIF4KIC0tID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gQjgu IFJQUiArIEluY3JlbWVudGFsIHNvcnQKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvcnByX2ludGVncmF0aW9uLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Jwcl9p bnRlZ3JhdGlvbi5zcWwKaW5kZXggYmM4ZjQ3MTJiY2IuLjVmMzg1M2JlY2JhIDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHJfaW50ZWdyYXRpb24uc3FsCisrKyBiL3NyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL3Jwcl9pbnRlZ3JhdGlvbi5zcWwKQEAgLTgxOCw3ICs4MTgsNiBAQCBDUkVB VEUgUkVDVVJTSVZFIFZJRVcgcnByX3JlY3YoaWQsIHZhbCwgY250KSBBUwogICAgICAgICBST1dT IEJFVFdFRU4gQ1VSUkVOVCBST1cgQU5EIFVOQk9VTkRFRCBGT0xMT1dJTkcKICAgICAgICAgUEFU VEVSTiAoQSBCKykKICAgICAgICAgREVGSU5FIEIgQVMgdmFsID4gUFJFVih2YWwpKTsKLURST1Ag VklFVyBycHJfcmVjdjsKIAogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSBCOC4gUlBSICsgSW5jcmVtZW50YWwgc29ydApk aWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMv cGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCBkMjNiMzkyODAwZS4uZGExMGI0YWM1NDYgMTAw NjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29s cy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC01MzQsNiArNTM0LDcgQEAgQ29uc3RyYWludAog Q29uc3RyYWludENhdGVnb3J5CiBDb25zdHJhaW50SW5mbwogQ29uc3RyYWludHNTZXRTdG10CitD b250YWluUlBSQ29udGV4dAogQ29udHJvbERhdGEKIENvbnRyb2xGaWxlRGF0YQogQ29udkluZm8K LS0gCjIuNTAuMSAoQXBwbGUgR2l0LTE1NSkKCg== --000000000000faa5060651996d0b Content-Type: text/plain; charset="US-ASCII"; name="nocfbot-0014-Enhance-README.rpr-per-Ishii-review.txt" Content-Disposition: attachment; filename="nocfbot-0014-Enhance-README.rpr-per-Ishii-review.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mp2a5xwr2 RnJvbSBlMzFjYzAzOGVlMzdiZjYyZDFjYzUwYWU0NzhiZDQ1NTU3OWEzNGVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIZW5zb24gQ2hvaSA8YXNzYW0yNThAZ21haWwuY29tPgpEYXRl OiBUdWUsIDEyIE1heSAyMDI2IDE1OjM4OjAzICswOTAwClN1YmplY3Q6IFtQQVRDSCAxNC8xNV0g RW5oYW5jZSBSRUFETUUucnByIHBlciBUYXRzdW8gSXNoaWkncyByZXZpZXcKCkFwcGx5IFRhdHN1 byBJc2hpaSdzIGVuaGFuY2VtZW50IHBhdGNoIG9uIHRvcCBvZiB2NDc6CgotIE1ha2UgInRhcmdl dCBhdWRpZW5jZSIgYW5kICJzY29wZSIgbW9yZSBkZXNjcmlwdGl2ZSwKICBwb2ludGluZyByZWFk ZXJzIHRvIHRoZSBTUUwgc3RhbmRhcmQgKGFuZCBPcmFjbGUvVHJpbm8KICBtYW51YWxzIGFzIGFs dGVybmF0aXZlcykKLSBTcGVsbCBvdXQgTkZBIGFuZCBBU1Qgb24gZmlyc3QgdXNlCi0gQ3Jvc3Mt cmVmZXJlbmNlIHRoZSBhYnNvcmJhYmlsaXR5IHNlY3Rpb25zIGZyb20gdGhlCiAgUlBSX0VMRU1f QUJTT1JCQUJMRV9CUkFOQ0ggZmxhZyBkZXNjcmlwdGlvbgotIExpc3QgYWRkaXRpb25hbCBXaW5k b3dBZ2dTdGF0ZSBmaWVsZHMgaW4gVi0zCiAgKG5mYVZpc2l0ZWROV29yZHMsIGRlZmluZU1hdGNo U3RhcnREZXBlbmRlbnQsCiAgbmZhTGFzdFByb2Nlc3NlZFJvdykKLSBTdGF0ZSB0aGUgd2luZG93 IGZyYW1pbmcgcnVsZXMgdGhhdCBhcHBseSB3aXRoIFJQUgotIEFkZCBhIFJlZmVyZW5jZXMgc2Vj dGlvbiAoU1FMIHN0YW5kYXJkcykKLS0tCiBzcmMvYmFja2VuZC9leGVjdXRvci9SRUFETUUucnBy IHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MzYgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvZXhlY3V0b3IvUkVBRE1FLnJwciBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL1JFQURNRS5ycHIK aW5kZXggZTY0ZWZlMGM3ZmMuLjZjMmJkZGFiNDU1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9l eGVjdXRvci9SRUFETUUucnByCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL1JFQURNRS5ycHIK QEAgLTIsMTEgKzIsMTUgQEAKICAgUG9zdGdyZVNRTCBSb3cgUGF0dGVybiBSZWNvZ25pdGlvbjog RmxhdC1BcnJheSBTdHJlYW0gTkZBIEd1aWRlCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLSAgVGFy Z2V0IGF1ZGllbmNlOiBEZXZlbG9wZXJzIHdpdGggYSBiYXNpYyB1bmRlcnN0YW5kaW5nIG9mIHRo ZSBQb3N0Z3JlU1FMCi0gICAgICAgICAgICAgICAgICAgZXhlY3V0b3IgYW5kIHBsYW5uZXIgYXJj aGl0ZWN0dXJlCisgIFRoaXMgUkVBRE1FJ3MgdGFyZ2V0IGF1ZGllbmNlIGlzIGRldmVsb3BlcnMg d2l0aCBhIGJhc2ljCisgIHVuZGVyc3RhbmRpbmcgb2YgdGhlIFBvc3RncmVTUUwgZXhlY3V0b3Ig YW5kIHBsYW5uZXIgYXJjaGl0ZWN0dXJlLgorICBBbHNvIGl0IHdvdWxkIGJlIGJldHRlciBmb3Ig dGhlbSB0byB1bmRlcnN0YW5kIHRoZSBzcGVjaWZpY2F0aW9uIG9mCisgIHRoZSByb3cgcGF0dGVy biByZWNvZ25pdGlvbiBpbiB0aGUgU1FMIHN0YW5kYXJkIFsxXVsyXS4gSWYgeW91IGRvCisgIG5v dCBoYXZlIGFjY2VzcyB0byB0aGUgU1FMIHN0YW5kYXJkLCBPcmFjbGUncyBtYW51YWwgb3IgVHJp bm8ncworICBtYW51YWwgY2FuIGJlIGFsdGVybmF0aXZlcyBmb3IgdGhlbS4KIAotICBTY29wZTog VGhlIGVudGlyZSBwcm9jZXNzIGZyb20gUEFUVEVSTi9ERUZJTkUgY2xhdXNlIHBhcnNpbmcgdG8g TkZBCi0gICAgICAgICBydW50aW1lIGV4ZWN1dGlvbgorICBUaGlzIFJFQURNRSdzIHNjb3BlIGlz IHRoZSBlbnRpcmUgcHJvY2VzcyBmcm9tIFBBVFRFUk4vREVGSU5FIGNsYXVzZQorICBwYXJzaW5n IHRvIE5GQSBydW50aW1lIGV4ZWN1dGlvbi4KIAogICBSZWxhdGVkIGNvZGU6CiAgICAgLSBzcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfcnByLmMgICAgICAgICAgKHBhcnNlciBwaGFzZSkKQEAgLTIz LDEwICsyNywxMSBAQAogCiBXaGF0IGlzIGEgRmxhdC1BcnJheSBTdHJlYW0gTkZBPwogCi0gIFRo ZSBORkEgaW4gdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBub3QgYSB0cmFkaXRpb25hbCBzdGF0ZS10 cmFuc2l0aW9uIGdyYXBoCi0gIGJ1dCBhIGZsYXQgYXJyYXkgb2YgZml4ZWQtc2l6ZSAxNi1ieXRl IGVsZW1lbnRzLiBBdCBydW50aW1lLCBpdCBwcm9jZXNzZXMKLSAgdGhlIHJvdyBzdHJlYW0gaW4g YSBmb3J3YXJkLW9ubHkgbWFubmVyLCBleHBhbmRpbmcgZXBzaWxvbiB0cmFuc2l0aW9ucwotICBl YWdlcmx5IHdpdGhvdXQgYmFja3RyYWNraW5nLgorICBUaGUgTkZBIChOb25kZXRlcm1pbmlzdGlj IEZpbml0ZSBBdXRvbWF0b24pIGluIHRoaXMgaW1wbGVtZW50YXRpb24KKyAgaXMgbm90IGEgdHJh ZGl0aW9uYWwgc3RhdGUtdHJhbnNpdGlvbiBncmFwaCBidXQgYSBmbGF0IGFycmF5IG9mCisgIGZp eGVkLXNpemUgMTYtYnl0ZSBlbGVtZW50cy4gQXQgcnVudGltZSwgaXQgcHJvY2Vzc2VzIHRoZSBy b3cgc3RyZWFtCisgIGluIGEgZm9yd2FyZC1vbmx5IG1hbm5lciwgZXhwYW5kaW5nIGVwc2lsb24g dHJhbnNpdGlvbnMgZWFnZXJseQorICB3aXRob3V0IGJhY2t0cmFja2luZy4KIAogICAtIEZsYXQt QXJyYXk6IFBhdHRlcm4gY29tcGlsZWQgaW50byBhIGZsYXQgYXJyYXksCiAgICAgICAgICAgICAg ICAgbm90IGEgZ3JhcGggKENoYXB0ZXIgSVYpCkBAIC0xMzIsMTQgKzEzNywxNCBAQCBmb2xsb3dp bmc6CiAKICAgKDMpIERFRklORSBjbGF1c2UgdHJhbnNmb3JtYXRpb24gKHRyYW5zZm9ybURlZmlu ZUNsYXVzZSkKIAotSUlJLTIuIFBBVFRFUk4gQVNUCitJSUktMi4gUEFUVEVSTiBBU1QgKEFic3Ry YWN0IFN5bnRheCBUcmVlKQogCiBUaGUgcGFyc2VyIHRyYW5zZm9ybXMgdGhlIFBBVFRFUk4gY2xh dXNlIGludG8gYW4gUlBSUGF0dGVybk5vZGUgdHJlZS4KIEVhY2ggbm9kZSBoYXMgb25lIG9mIHRo ZSBmb2xsb3dpbmcgZm91ciB0eXBlczoKIAogICBSUFJfUEFUVEVSTl9WQVIgICAgVmFyaWFibGUg cmVmZXJlbmNlLiBOYW1lIHN0b3JlZCBpbiB2YXJOYW1lIGZpZWxkLgogICBSUFJfUEFUVEVSTl9T RVEgICAgQ29uY2F0ZW5hdGlvbi4gQ2hpbGRyZW4gbm9kZSBsaXN0IGluIGNoaWxkcmVuLgotICBS UFJfUEFUVEVSTl9BTFQgICAgQWx0ZXJuYXRpb24uIEJyYW5jaCBub2RlIGxpc3QgaW4gY2hpbGRy ZW4uCisgIFJQUl9QQVRURVJOX0FMVCAgICBBbHRlcm5hdGlvbiAob3IpLiBCcmFuY2ggbm9kZSBs aXN0IGluIGNoaWxkcmVuLgogICBSUFJfUEFUVEVSTl9HUk9VUCAgR3JvdXAgKHBhcmVudGhlc2Vz KS4gQm9keSBub2RlIGxpc3QgaW4gY2hpbGRyZW4uCiAKIEFsbCBub2RlcyBoYXZlIG1pbi9tYXgg ZmllbGRzIHRvIGV4cHJlc3MgcXVhbnRpZmllcnM6CkBAIC0yNzAsOSArMjc1LDExIEBAIEVsZW1l bnQgZmxhZ3MgKDEgYnl0ZSwgYml0bWFzayk6CiAgICAgICAgIG1hdGNoZXMuIChJVi00YikKIAog ICAweDA0ICBSUFJfRUxFTV9BQlNPUkJBQkxFX0JSQU5DSCAgKFZBUiwgQkVHSU4sIEVORCwgQUxU KQotICAgICAgICBFbGVtZW50IGxpZXMgd2l0aGluIGFuIGFic29yYmFibGUgcmVnaW9uLiAgVXNl ZCBhdCBydW50aW1lCi0gICAgICAgIHRvIHRyYWNrIHdoZXRoZXIgdGhlIGN1cnJlbnQgTkZBIHN0 YXRlIGlzIGluIGFuIGFic29yYmFibGUKLSAgICAgICAgY29udGV4dC4KKyAgICAgICAgRWxlbWVu dCBsaWVzIHdpdGhpbiBhbiBhYnNvcmJhYmxlIHJlZ2lvbi4gIFVzZWQgYXQgcnVudGltZSB0bwor ICAgICAgICB0cmFjayB3aGV0aGVyIHRoZSBjdXJyZW50IE5GQSBzdGF0ZSBpcyBpbiBhbiBhYnNv cmJhYmxlCisgICAgICAgIGNvbnRleHQuIFNlZSAiSVYtNS4gQWJzb3JiYWJpbGl0eSBBbmFseXNp cyIgYW5kCisgICAgICAgICJWSUlJLTIuIFNvbHV0aW9uOiBDb250ZXh0IEFic29ycHRpb24iIGZv ciBtb3JlIGRldGFpbHMgYWJvdXQKKyAgICAgICAgYWJzb3JwdGlvbi4KIAogICAweDA4ICBSUFJf RUxFTV9BQlNPUkJBQkxFICAgICAgICAgKFZBUiwgRU5EKQogICAgICAgICBBYnNvcnB0aW9uIGp1 ZGdtZW50IHBvaW50LiAgV2hlcmUgdG8gY29tcGFyZSBjb25zZWN1dGl2ZQpAQCAtNTE0LDcgKzUy MSwxMCBAQCBWLTMuIFJQUiBGaWVsZHMgb2YgV2luZG93QWdnU3RhdGUKICAgbmZhU3RhdGVGcmVl ICAgICAgICAgICAgICAgICAgUmV1c2UgcG9vbCBmb3Igc3RhdGVzCiAgIG5mYVZhck1hdGNoZWQg ICAgICAgICAgICAgICAgIFBlci1yb3cgY2FjaGU6IHZhck1hdGNoZWRbdmFySWRdCiAgIG5mYVZp c2l0ZWRFbGVtcyAgICAgICAgICAgICAgIEJpdG1hcCBmb3IgY3ljbGUgZGV0ZWN0aW9uCisgIG5m YVZpc2l0ZWROV29yZHMgICAgICAgICAgICAgIE51bWJlciBvZiBiaXRtYXB3b3JkcyBpbiBuZmFW aXNpdGVkRWxlbXMKICAgbmZhU3RhdGVTaXplICAgICAgICAgICAgICAgICAgUHJlY29tcHV0ZWQg c2l6ZSBvZiBSUFJORkFTdGF0ZQorICBkZWZpbmVNYXRjaFN0YXJ0RGVwZW5kZW50ICAgICBERUZJ TkUgdmFycyBuZWVkaW5nIHBlci1jb250ZXh0IGV2YWx1YXRpb24gKG1hdGNoX3N0YXJ0LWRlcGVu ZGVudCkKKyAgbmZhTGFzdFByb2Nlc3NlZFJvdyAgICAgICAgICAgTGFzdCByb3cgcHJvY2Vzc2Vk IGJ5IE5GQSAoLTEgPSBub25lKQogCiBNZW1vcnkgbWFuYWdlbWVudDoKIApAQCAtMTA1Myw2ICsx MDYzLDEwIEBAIFgtMy4gSU5JVElBTCB2cyBTRUVLCiAKIFgtNC4gQm91bmRlZCBGcmFtZSBIYW5k bGluZwogCisgIFdpdGggUlBSLCB0aGUgZnJhbWUgbW9kZSBpcyBhbHdheXMgUk9XUyBhbmQgdGhl IGZyYW1lIHN0YXJ0IG11c3QgYmUKKyAgQ1VSUkVOVCBST1cuIFRoZSBmcmFtZSBlbmQgY2FuIGJl IGVpdGhlciBVTkJPVU5ERUQgRk9MTE9XSU5HIG9yIG4KKyAgRk9MTE9XSU5HLgorCiAgIFdoZW4g dGhlIGZyYW1lIGlzIGJvdW5kZWQgKGUuZy4sIFJPV1MgQkVUV0VFTiBDVVJSRU5UIFJPVyBBTkQg NQogICBGT0xMT1dJTkcpLCBFeGVjUlBSUHJvY2Vzc1JvdyByZWNlaXZlcyBoYXNMaW1pdGVkRnJh bWU9dHJ1ZSBhbmQKICAgZnJhbWVPZmZzZXQgaW5kaWNhdGluZyB0aGUgdXBwZXIgYm91bmQuICBC ZWZvcmUgdGhlIG1hdGNoIHBoYXNlLApAQCAtMTU3OSw2ICsxNTkzLDE1IEBAIEMtNy4gUEFUVEVS TiAoKEErIEIgfCBDKikrIEQpICAtLSBQZXItYnJhbmNoIGFic29ycHRpb24gaW4gQUxUCiAgIG51 bGxhYmxlLgogICBCRUdJTiBhbmQgQUxUIGdldCBBQlNPUkJBQkxFX0JSQU5DSCAob24gdGhlIHBh dGggdG8gYWJzb3JiYWJsZSBlbGVtZW50cykuCiAKKworUmVmZXJlbmNlczoKKworWzFdIElTTy9J RUMgMTkwNzUtNSBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gR3VpZGFuY2UgZm9yIHRoZSB1c2Ug b2YKKyAgICBkYXRhYmFzZSBsYW5ndWFnZSBTUUwgLSBQYXJ0IDU6IFJvdyBwYXR0ZXJuIHJlY29n bml0aW9uCisKK1syXSBJU08vSUVDIDkwNzUtMiBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gRGF0 YWJhc2UgbGFuZ3VhZ2VzIC0gU1FMIC0KKyAgICBQYXJ0IDI6IEZvdW5kYXRpb24gKFNRTC9Gb3Vu ZGF0aW9uKQorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEVuZCBvZiBkb2N1bWVudAogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLSAKMi41MC4xIChBcHBsZSBHaXQtMTU1KQoK --000000000000faa5060651996d0b Content-Type: text/plain; charset="US-ASCII"; name="nocfbot-0015-Round-out-README.rpr-WindowAggState.txt" Content-Disposition: attachment; filename="nocfbot-0015-Round-out-README.rpr-WindowAggState.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mp2a5yvp3 RnJvbSA3ZmFjZTllNTYwNmM1NmQyMjI4NmY0ODY2YWRjODFlMzlmODhiYzgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIZW5zb24gQ2hvaSA8YXNzYW0yNThAZ21haWwuY29tPgpEYXRl OiBUdWUsIDEyIE1heSAyMDI2IDE1OjQzOjQ5ICswOTAwClN1YmplY3Q6IFtQQVRDSCAxNS8xNV0g Um91bmQgb3V0IFJFQURNRS5ycHIgV2luZG93QWdnU3RhdGUgZmllbGQgY292ZXJhZ2UKCkZvbGxv dy11cCB0byB0aGUgcHJldmlvdXMgY29tbWl0IGFwcGx5aW5nIFRhdHN1byBJc2hpaSdzCnJldmll dy4gIFRoYXQgY29tbWl0IGFkZGVkIHRocmVlIFdpbmRvd0FnZ1N0YXRlIGZpZWxkcyB0bwpWLTMg YnV0IGxlZnQgYSBmZXcgcmVsYXRlZCBlbnRyaWVzIG91dCwgYW5kIEFwcGVuZGl4IEIncwpkaWFn cmFtIHN0aWxsIHNob3dlZCB0aGUgcHJlLXJldmlldyBmaWVsZCBsaXN0LgoKLSBBZGQgbmZhVmlz aXRlZE1pbldvcmQgYW5kIG5mYVZpc2l0ZWRNYXhXb3JkIHRvIFYtMwotIE5vdGUgdGhhdCBFWFBM QUlOIEFOQUxZWkUgaW5zdHJ1bWVudGF0aW9uIGNvdW50ZXJzIGFyZQogIG9taXR0ZWQgZnJvbSBW LTMgKHNlZSBleGVjbm9kZXMuaCkKLSBNaXJyb3IgdGhlIFYtMyBhZGRpdGlvbnMgaW4gdGhlIEFw cGVuZGl4IEIgZGlhZ3JhbQotLS0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL1JFQURNRS5ycHIgfCAx MSArKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9SRUFETUUucnByIGIvc3JjL2JhY2tlbmQvZXhlY3V0 b3IvUkVBRE1FLnJwcgppbmRleCA2YzJiZGRhYjQ1NS4uNmZmN2YzM2U2MmUgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2V4ZWN1dG9yL1JFQURNRS5ycHIKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0 b3IvUkVBRE1FLnJwcgpAQCAtNTIyLDEwICs1MjIsMTUgQEAgVi0zLiBSUFIgRmllbGRzIG9mIFdp bmRvd0FnZ1N0YXRlCiAgIG5mYVZhck1hdGNoZWQgICAgICAgICAgICAgICAgIFBlci1yb3cgY2Fj aGU6IHZhck1hdGNoZWRbdmFySWRdCiAgIG5mYVZpc2l0ZWRFbGVtcyAgICAgICAgICAgICAgIEJp dG1hcCBmb3IgY3ljbGUgZGV0ZWN0aW9uCiAgIG5mYVZpc2l0ZWROV29yZHMgICAgICAgICAgICAg IE51bWJlciBvZiBiaXRtYXB3b3JkcyBpbiBuZmFWaXNpdGVkRWxlbXMKKyAgbmZhVmlzaXRlZE1p bldvcmQgICAgICAgICAgICAgTG93ZXN0IGJpdG1hcHdvcmQgaW5kZXggdG91Y2hlZCBzaW5jZSBs YXN0IHJlc2V0CisgIG5mYVZpc2l0ZWRNYXhXb3JkICAgICAgICAgICAgIEhpZ2hlc3QgYml0bWFw d29yZCBpbmRleCB0b3VjaGVkIHNpbmNlIGxhc3QgcmVzZXQKICAgbmZhU3RhdGVTaXplICAgICAg ICAgICAgICAgICAgUHJlY29tcHV0ZWQgc2l6ZSBvZiBSUFJORkFTdGF0ZQogICBkZWZpbmVNYXRj aFN0YXJ0RGVwZW5kZW50ICAgICBERUZJTkUgdmFycyBuZWVkaW5nIHBlci1jb250ZXh0IGV2YWx1 YXRpb24gKG1hdGNoX3N0YXJ0LWRlcGVuZGVudCkKICAgbmZhTGFzdFByb2Nlc3NlZFJvdyAgICAg ICAgICAgTGFzdCByb3cgcHJvY2Vzc2VkIGJ5IE5GQSAoLTEgPSBub25lKQogCisgIEVYUExBSU4g QU5BTFlaRSBpbnN0cnVtZW50YXRpb24gY291bnRlcnMgYXJlIG9taXR0ZWQgaGVyZTsgc2VlCisg IGV4ZWNub2Rlcy5oIGZvciB0aGUgZnVsbCBsaXN0LgorCiBNZW1vcnkgbWFuYWdlbWVudDoKIAog ICBTdGF0ZXMgYW5kIGNvbnRleHRzIGFyZSBtYW5hZ2VkIHRocm91Z2ggdGhlaXIgb3duIGZyZWUg bGlzdHMuCkBAIC0xNDgwLDcgKzE0ODUsMTMgQEAgQXBwZW5kaXggQi4gRGF0YSBTdHJ1Y3R1cmUg UmVsYXRpb25zaGlwIERpYWdyYW0KICAgICB8LS0tIGRlZmluZVZhcmlhYmxlTGlzdDogTGlzdDxT dHJpbmc+ICh2YXJpYWJsZSBuYW1lcywgREVGSU5FIG9yZGVyKQogICAgIHwtLS0gZGVmaW5lQ2xh dXNlTGlzdDogTGlzdDxFeHByU3RhdGU+CiAgICAgfC0tLSBuZmFWYXJNYXRjaGVkOiBib29sW10g KHBlci1yb3cgY2FjaGUpCisgICAgfC0tLSBkZWZpbmVNYXRjaFN0YXJ0RGVwZW5kZW50OiBCaXRt YXBzZXQqIChtYXRjaF9zdGFydC1kZXBlbmRlbnQKKyAgICB8ICAgICAgICBERUZJTkUgdmFyczsg c2VlIFZJLTQpCiAgICAgfC0tLSBuZmFWaXNpdGVkRWxlbXM6IGJpdG1hcHdvcmQqIChjeWNsZSBk ZXRlY3Rpb24pCisgICAgfC0tLSBuZmFWaXNpdGVkTldvcmRzOiBpbnQgKHNpemUgb2YgbmZhVmlz aXRlZEVsZW1zKQorICAgIHwtLS0gbmZhVmlzaXRlZE1pbldvcmQgLyBuZmFWaXNpdGVkTWF4V29y ZDogaW50MTYKKyAgICB8ICAgICAgICAodG91Y2hlZC13b3JkIHJhbmdlIGZvciBmYXN0IHJlc2V0 KQorICAgIHwtLS0gbmZhTGFzdFByb2Nlc3NlZFJvdzogaW50NjQgKC0xID0gbm9uZSkKICAgICB8 LS0tIG5mYVN0YXRlU2l6ZTogU2l6ZSAocHJlLWNhbGN1bGF0ZWQgUlBSTkZBU3RhdGUgYWxsb2Nh dGlvbiBzaXplKQogICAgIHwtLS0gbmZhQ29udGV4dCA8LT4gbmZhQ29udGV4dFRhaWwgKGRvdWJs eS1saW5rZWQgbGlzdCkKICAgICB8ICAgKy0tLSBSUFJORkFDb250ZXh0Ci0tIAoyLjUwLjEgKEFw cGxlIEdpdC0xNTUpCgo= --000000000000faa5060651996d0b--