Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iKB4W-00035X-QC for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Oct 2019 00:52:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iJks1-0001Fz-AF for pgsql-hackers@arkaria.postgresql.org; Sun, 13 Oct 2019 20:53:41 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iJkqq-0001FN-Cx for pgsql-hackers@lists.postgresql.org; Sun, 13 Oct 2019 20:52:28 +0000 Received: from mail-ot1-x335.google.com ([2607:f8b0:4864:20::335]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iJkqi-0000n0-G8 for pgsql-hackers@postgresql.org; Sun, 13 Oct 2019 20:52:27 +0000 Received: by mail-ot1-x335.google.com with SMTP id m19so12214355otp.1 for ; Sun, 13 Oct 2019 13:52:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=h1WkomFfIJMJO16ux1dHVauW/21bZwTg7aOcM9YKHKI=; b=H7GmUOCRXnsonmELbOIg4w4gM4vceWMTfRajfVJkM6pdZ42mSZ8iz5kORJLMBxNbOv N5CUHo/0H3MAwK0TPwkqXnjX3MsLxbmgQf9ITwgkJzrA8whWLpyuK0UkZZkBEgWcXBIu VDps5hYqbHBzc4qroa7VmG0AeYUwkSg2z5kYQ6+CvcDUw5PSXbe+YytXH2zM2IlToU/F wtd7naWDZ9xSpA/rYpWoOdgJ20tZwbYsRcOKSLjkq6f8teDWVUZaCJnVIf4l7dVMSAhI giLCt4RZdGIyw8Eh/rwLO+f76FNpUmCnE3dxZMNYpwbcFVM4VpTjD5HP728nDqTsjp3n 2OLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=h1WkomFfIJMJO16ux1dHVauW/21bZwTg7aOcM9YKHKI=; b=PtK+6hIJaE2gL2nixasPYYcMfS5HvFDB2hZOwA99bSxrXTI76fU0eY8D2NSOSJ07Wb RETCSzJIm0J/VH1YSuECR9kgGtTYPHLn0yWGlSuY1xAjzxabOxm4mYrjITmy5sqWQyBP guAoT4JWb677KhRzwKDDNtsU4IuI8MA5Kd59L0+dTYVugCr5h/hT7WpsH0YHkOYeDNwE 1OzW+GZaf+NzQ+J8aJdQRVi67jHLEZM6MM/dW9ds4DNoAlBSdoz1FdUY4pLWpaOm2eTs 48+jgQJa9KmVYvqYj6KeAGXrAisg3z1Qj47M0z8FS2KMGAdEVKk+k1cJ2/HZDnkMFoeG enXA== X-Gm-Message-State: APjAAAXxxFOZKvRMKRW8UO3g/reWGSjWPYmb1DLJrZn1QssiJflb9606 bElmfs0KlX+KjJhUWDT+Ev6LP6+c3Zh9kvMTKESE+D0+ X-Google-Smtp-Source: APXvYqx5lBU8BE9QREY7OzwuauRDoWsYg2/sSmU5NqvXD+yhPRnozVtY6mE68s+27kPcJHAKgG7RDwu6k+Qr4e2jLFY= X-Received: by 2002:a9d:6c10:: with SMTP id f16mr22627004otq.35.1570999937807; Sun, 13 Oct 2019 13:52:17 -0700 (PDT) MIME-Version: 1.0 From: Corey Huinker Date: Sun, 13 Oct 2019 16:52:05 -0400 Message-ID: Subject: Add A Glossary To: pgsql-hackers@postgresql.org Content-Type: multipart/mixed; boundary="0000000000003c68b50594d0ed78" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000003c68b50594d0ed78 Content-Type: multipart/alternative; boundary="0000000000003c68b20594d0ed76" --0000000000003c68b20594d0ed76 Content-Type: text/plain; charset="UTF-8" Attached is a v1 patch to add a Glossary to the appendix of our current documentation. I believe that our documentation needs a glossary for a few reasons: 1. It's hard to ask for help if you don't know the proper terminology of the problem you're having. 2. Readers who are new to databases may not understand a few of the terms that are used casually both in the documentation and in forums. This helps to make our documentation a bit more useful as a teaching tool. 3. Readers whose primary language is not English may struggle to find the correct search terms, and this glossary may help them grasp that a given term has a usage in databases that is different from common English usage. 3b. If we are not able to find the resources to translate all of the documentation into a given language, translating the glossary page would be a good first step. 4. The glossary would be web-searchable, and draw viewers to the official documentation. 5. adding link anchors to each term would make them cite-able, useful in forum conversations. A few notes about this patch: 1. It's obviously incomplete. There are more terms, a lot more, to add. 2. The individual definitions supplied are off-the-cuff, and should be thoroughly reviewed. 3. The definitions as a whole should be reviewed by an actual tech writer (one was initially involved but had to step back due to prior commitments), and the definitions should be normalized in terms of voice, tone, audience, etc. 4. My understanding of DocBook is not strong. The glossary vs glosslist tag issue is a bit confusing to me, and I'm not sure if the glossary tag is even appropriate for our needs. 5. I've made no effort at making each term an anchor, nor have I done any CSS styling at all. 6. I'm not quite sure how to handle terms that have different definitions in different contexts. Should that be two glossdefs following one glossterm, or two separate def/term pairs? Please review and share your thoughts. --0000000000003c68b20594d0ed76 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Attached is a v1 patch to add a Glossary to the appendix o= f our current documentation.

I believe that our document= ation needs a glossary for a few reasons:

1. It= 9;s hard to ask for help if you don't know the proper terminology of th= e problem you're having.

2. Readers who are ne= w to databases may not understand a few of the terms that are used casually= both in the documentation and in forums. This helps to make our documentat= ion a bit more useful as a teaching tool.

3. R= eaders whose primary language is not English may struggle to find the corre= ct search terms, and this glossary may help them grasp that a given term ha= s a usage in databases that is different from common English usage.

3b. If we are not able to find the resources to translate= all of the documentation into a given language, translating the glossary p= age would be a good first step.

4. The glossary wo= uld be web-searchable, and draw viewers to the official documentation.
<= br>5. adding link anchors to each term would make them cite-able, useful in= forum conversations.

A few notes about this patch:

1. It&#= 39;s obviously incomplete. There are more terms, a lot more, to add.
<= div>
2. The individual definitions supplied are off-the-cuff,= and should be thoroughly reviewed.

3. The definit= ions as a whole should be reviewed by an actual tech writer (one was initia= lly involved but had to step back due to prior commitments), and the defini= tions should be normalized in terms of voice, tone, audience, etc.

4= . My understanding of DocBook is not strong. The glossary vs glosslist tag = issue is a bit confusing to me, and I'm not sure if the glossary tag is= even appropriate for our needs.

5. I've made = no effort at making each term an anchor, nor have I done any CSS styling at= all.

6. I'm not quite sure how to handle terms that have= different definitions in different contexts. Should that be two glossdefs = following one glossterm, or two separate def/term pairs?

Please revi= ew and share your thoughts.
--0000000000003c68b20594d0ed76-- --0000000000003c68b50594d0ed78 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-add-glossary-page-with-sample-terms-and-definitions.patch" Content-Disposition: attachment; filename="0001-add-glossary-page-with-sample-terms-and-definitions.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k1pftjlo0 RnJvbSAzNDNkNWMxOGJmMjNmOTgzNDFiNTEwNTk1ZTNlMDQyZTAwMjI0MmNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDb3JleSBIdWlua2VyIDxjb3JleS5odWlua2VyQGdtYWlsLmNv bT4KRGF0ZTogU3VuLCAxMyBPY3QgMjAxOSAxNzo1NzozNiArMDAwMApTdWJqZWN0OiBbUEFUQ0hd IGFkZCBnbG9zc2FyeSBwYWdlIHdpdGggc2FtcGxlIHRlcm1zIGFuZCBkZWZpbml0aW9ucwoKLS0t CiBkb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dtbCAgfCAgIDEgKwogZG9jL3NyYy9zZ21sL2dsb3Nz YXJ5LnNnbWwgIHwgNjE4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZG9j L3NyYy9zZ21sL3N0eWxlc2hlZXQuY3NzIHwgICAyICsKIDMgZmlsZXMgY2hhbmdlZCwgNjIxIGlu c2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dt bAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9maWxlbGlzdC5zZ21sIGIvZG9jL3NyYy9zZ21s L2ZpbGVsaXN0LnNnbWwKaW5kZXggM2RhMjM2NWVhOS4uNTA0YzhhNjMyNiAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNn bWwKQEAgLTE3MCw2ICsxNzAsNyBAQAogCiA8IUVOVElUWSBsaW1pdHMgICAgIFNZU1RFTSAibGlt aXRzLnNnbWwiPgogPCFFTlRJVFkgYWNyb255bXMgICBTWVNURU0gImFjcm9ueW1zLnNnbWwiPgor PCFFTlRJVFkgZ2xvc3NhcnkgICBTWVNURU0gImdsb3NzYXJ5LnNnbWwiPgogCiA8IUVOVElUWSBm ZWF0dXJlcy1zdXBwb3J0ZWQgICBTWVNURU0gImZlYXR1cmVzLXN1cHBvcnRlZC5zZ21sIj4KIDwh RU5USVRZIGZlYXR1cmVzLXVuc3VwcG9ydGVkIFNZU1RFTSAiZmVhdHVyZXMtdW5zdXBwb3J0ZWQu c2dtbCI+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbCBiL2RvYy9zcmMv c2dtbC9nbG9zc2FyeS5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAu LjAxNmVlZTJkNzYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dt bApAQCAtMCwwICsxLDYxOCBAQAorPCEtLSBkb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbCAtLT4K KworPGFwcGVuZGl4IGlkPSJnbG9zc2FyeSI+CisgPHRpdGxlPkdsb3NzYXJ5PC90aXRsZT4KKwor IDxwYXJhPgorICBUaGlzIGlzIGEgbGlzdCBvZiB0ZXJtcyBhbmQgdGhlaXIgaW4gdGhlIGNvbnRl eHQgb2YgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBhbmQgZGF0YWJhc2Vz IGluIGdlbmVyYWwuCisKKyAgPHZhcmlhYmxlbGlzdD4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAg ICA8dGVybT48Z2xvc3Nhcnl0ZXJtPkFnZ3JlZ2F0ZTwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAg ICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVG8gY29tYmluZSBhIGNvbGxlY3Rpb24g b2YgZGF0YSB2YWx1ZXMgaW50byBhIHNpbmdsZSB2YWx1ZSwgd2hvc2UgdmFsdWUKK21heSBub3Qg YmUgb2YgdGhlIHNhbWUgdHlwZSBhcyB0aGUgb3JpZ2luYWwgdmFsdWVzLiBBZ2dyZWdhdGUgZnVu Y3Rpb25zIGNvbWJpbmUKK211bHRpcGxlIHJvd3MgdGhhdCBzaGFyZSBhIGNvbW1vbiBzZXQgb2Yg dmFsdWVzIGludG8gb25lIHJvdywgd2hpY2ggbWVhbnMgdGhhdAordGhlIG9ubHkgZGF0YSB2aXNp YmxlIGluIHRoZSB2YWx1ZXMgaW4gY29tbW9uLCBhbmQgdGhlIGFnZ3JlZ2F0ZXMgb2YgdGhlCitu b24tY29tbW9uIGRhdGEuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJs aXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5B bmFseXRpYzwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJh PgorICAgICAgQSBmdW5jdGlvbiB3aG9zZSBjb21wdXRlZCB2YWx1ZSBjYW4gcmVmZXJlbmNlIHZh bHVlcyBmb3VuZCBpbiBuZWFyYnkgcm93cworb2YgdGhlIHNhbWUgcmVzdWx0IHNldC4KKyAgICAg PC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxp c3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPkF0b21pYzwvZ2xvc3Nhcnl0ZXJtPjwv dGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgSW4gcmVmZXJlbmNlIHRv IHRoZSB2YWx1ZSBvZiBhbiBBdHRyaWJ1dGUgb3IgRGF0dW06IGNhbm5vdCBiZSBicm9rZW4gdXAK K2ludG8gc21hbGxlciBjb21wb25lbnRzLgorICAgICA8L3BhcmE+CisgICAgIDxwYXJhPgorICAg ICAgSW4gcmVmZXJlbmNlIHRvIGFuIG9wZXJhdGlvbjogQW4gZXZlbnQgdGhhdCBjYW5ub3QgYmUg Y29tcGxldGVkIGluIHBhcnQ6CitpdCBtdXN0IGVpdGhlciBlbnRpcmVseSBzdWNjZWVkIG9yIGVu dGlyZWx5IGZhaWwuIEEgc2VyaWVzIG9mIFNRTCBzdGF0ZW1lbnRzIGNhbgorYmUgY29tYmluZWQg aW50byBhIFRyYW5zYWN0aW9uLCBhbmQgdGhhdCB0cmFuc2FjdGlvbiBpcyBzYWlkIHRvIGJlIEF0 b21pYy4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4K KworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPkF0dHJpYnV0ZTwv Z2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAg QSB0eXBlZCBkYXRhIGVsZW1lbnQgZm91bmQgd2l0aGluIGEgVHVwbGUgb3IgUmVsYXRpb24gb3Ig VGFibGUuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+ CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5DYXN0PC9nbG9z c2FyeXRlcm0+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIGNv bnZlcnNpb24gb2YgYSBEYXR1bSBmcm9tIGl0cyBjdXJyZW50IGRhdGEgdHlwZSB0byBhbm90aGVy IGRhdGEgdHlwZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3Rl bnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPkNoZWNr IENvbnN0cmFpbnQ8L2dsb3NzYXJ5dGVybT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8 cGFyYT4KKyAgICAgIEEgdHlwZSBvZiBjb25zdHJhaW50IGRlZmluZWQgb24gYSByZWxhdGlvbiB3 aGljaCByZXN0cmljdHMgdGhlIHZhbHVlcworYWxsb3dlZCBpbiBvbmUgb3IgbW9yZSBBdHRyaWJ1 dGVzLiBUaGUgY2hlY2sgY29uc3RyYWludCBjYW4gbWFrZSByZWZlcmVuY2UgdG8KK2FueSBBdHRy aWJ1dGUgaW4gdGhlIFJlbGF0aW9uLCBidXQgY2Fubm90IHJlZmVyZW5jZSBvdGhlciByb3dzIG9m IHRoZSBzYW1lCityZWxhdGlvbiBvciBvdGhlciByZWxhdGlvbnMuCisgICAgIDwvcGFyYT4KKyAg ICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+Cisg ICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Db2x1bW48L2dsb3NzYXJ5dGVybT48L3Rlcm0+CisgICAg PGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIEFuIEF0dHJpYnV0ZSBmb3VuZCBpbiBhIFRh YmxlIG9yIFZpZXcuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0 ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Db21t aXQ8L2dsb3NzYXJ5dGVybT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAg ICAgIFRoZSBhY3Qgb2YgZmluYWxpemluZyBhIFRyYW5zYWN0aW9uIHdpdGhpbiB0aGUgZGF0YWJh c2UuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisK KyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Db25jdXJyZW5jeTwv Z2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAg VGhlIGNvbmNlcHQgdGhhdCBtdWx0aXBsZSBpbmRlcGVuZGVudCBvcGVyYXRpb25zIGNhbiBiZSBo YXBwZW5pbmcgd2l0aGluCit0aGUgZGF0YWJhc2UgYXQgdGhlIHNhbWUgdGltZS4KKyAgICAgPC9w YXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3Rl bnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPkNvbnN0cmFpbnQ8L2dsb3NzYXJ5dGVybT48 L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIEEgbWV0aG9kIG9mIHJl c3RyaWN0aW5nIHRoZSB2YWx1ZXMgb2YgZGF0YSBhbGxvd2VkIHdpdGhpbiBhIFRhYmxlLgorICAg ICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFy bGlzdGVudHJ5PgorICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+RGF0dW08L2dsb3NzYXJ5dGVybT48 L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBpbnRlcm5hbCBy ZXByZXNlbnRhdGlvbiBvZiBhIFNRTCBEYXRhdHlwZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlz dGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVy bT48Z2xvc3Nhcnl0ZXJtPkRlbGV0ZTwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0 ZW0+CisgICAgIDxwYXJhPgorCSAgQSBTUUwgY29tbWFuZCB3aG9zZSBwdXJwb3NlIGlzIHRvIHJl bW92ZSByb3dzIGZyb20gYSBnaXZlbiBUYWJsZSBvcgorcmVsYXRpb24uCisgICAgIDwvcGFyYT4K KyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+ CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Gb3JlaWduIERhdGEgV3JhcHBlcjwvZ2xvc3Nhcnl0 ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgQSBtZWFucyBv ZiByZXByZXNlbnRpbmcgZGF0YSB0aGF0IGlzIG5vdCBjb250YWluZWQgaW4gdGhlIGxvY2FsIGRh dGFiYXNlCithcyBpZiB3ZXJlIGluIGxvY2FsIHRhYmxlcy4gV2l0aCBhIEZvcmVpZ24gRGF0YSBX cmFwcGVyIGl0IGlzIHBvc3NpYmxlIHRvIGRlZmluZQorYSBGb3JlaWduIFNlcnZlciBhbmQgRm9y ZWlnbiBUYWJsZXMuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0 ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Gb3Jl aWduIEtleTwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJh PgorICAgICAgQSB0eXBlIG9mIENvbnN0cmFpbnQgZGVmaW5lZCBvbiBvbmUgb3IgbW9yZSBjb2x1 bW5zIGluIGEgVGFibGUgd2hpY2ggcmVxdWlyZXMgdGhlCit2YWx1ZSBpbiB0aG9zZSBjb2x1bW5z IHRvIHVuaXF1ZWx5IGlkZW50aWZ5IGEgcm93IGluIHRoZSBzcGVjaWZpZWQgdGFibGUuCisgICAg IDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJs aXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Gb3JlaWduIFNlcnZlcjwvZ2xvc3Nh cnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgQSBuYW1l ZCBjb2xsZWN0aW9uIG9mIEZvcmVpZ24gVGFibGVzIHdoaWNoIGFsbCB1c2UgdGhlIHNhbWUgRm9y ZWlnbiBEYXRhCitXcmFwcGVyIGFuZCBoYXZlIG90aGVyIGNvbmZpZ3VyZWQgYXR0cmlidXRlcyBp biBjb21tb24uCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50 cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Gb3JlaWdu IFRhYmxlPC9nbG9zc2FyeXRlcm0+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+ CisgICAgICBBIHJlbGF0aW9uIHdoaWNoIGFwcGVhcnMgdG8gaGF2ZSBSb3dzIGFuZCBDb2x1bW5z IGxpa2UgYSByZWd1bGFyIFRhYmxlLAorYnV0IHdoZW4gcXVlcmllZCB3aWxsIGluc3RlYWQgZm9y d2FyZCB0aGUgcmVxdWVzdCBmb3IgZGF0YSB0aHJvdWdoIGl0cyBGb3JlaWduCitEYXRhIFdyYXBw ZXIsIHdoaWNoIHdpbGwgcmV0dXJuIHJlc3VsdHMgc3RydWN0dXJlZCBhY2NvcmRpbmcgdG8gdGhl IGRlZmluaXRpb24KK29mIHRoZSBGb3JlaWduIFRhYmxlLgorICAgICA8L3BhcmE+CisgICAgPC9s aXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0 ZXJtPjxnbG9zc2FyeXRlcm0+RnVuY3Rpb248L2dsb3NzYXJ5dGVybT48L3Rlcm0+CisgICAgPGxp c3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIEFueSBwcmUtZGVmaW5lZCB0cmFuZm9ybWF0aW9u IG9mIGRhdGEuIE1hbnkgZnVuY3Rpb25zIGFyZSBhbHJlYWR5IGRlZmluZWQKK3dpdGhpbiBQb3N0 Z3JlU1FMIGl0c2VsLCBidXQgY2FuIGFsc28gYmUgdXNlci1kZWZpbmVkLgorICAgICA8L3BhcmE+ CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5 PgorICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+R3JhbnQ8L2dsb3NzYXJ5dGVybT48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIEEgU1FMIGNvbW1hbmQgdGhhdCBpcyB1 c2VkIHRvIGVuYWJsZSBVc2VycyBvciBSb2xlcyB0byBhY2Nlc3Mgc3BlY2lmaWMKK29iamVjdHMg d2l0aGluIHRoZSBkYXRhYmFzZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8 L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0 ZXJtPkluZGV4PC9nbG9zc2FyeXRlcm0+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBh cmE+CisgICAgICBBIHJlbGF0aW9uIHRoYXQgY29udGFpbnMgZGF0YSBkZXJpdmVkIGZyb20gYSBU YWJsZSAob3IgUmVsYXRpb24gbGlrZSBhCitNYXRlcmlhbGl6ZWQgVmlldykgdGhhdCBzdG9yZXMg dGhlIGRhdGEgaW4gYSB3YXkgdGhhdCBtYWtlcyBzcGVjaWZpYyB2YWx1ZXMKK2Vhc2llciB0byBy ZXRyaWV2ZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRy eT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPkluc2VydDwv Z2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAg QSBTUUwgY29tbWFuZCB1c2VkIHRvIGFkZCBuZXcgZGF0YSBpbnRvIGEgVGFibGUuCisgICAgIDwv cGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0 ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Kb2luPC9nbG9zc2FyeXRlcm0+PC90ZXJt PgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIEpvaW4gaXMgYSB0ZWNobmlx dWUgdXNlZCB3aXRoIFNlbGVjdCBzdGF0ZW1lbnRzIGZvciBjb3JyZWxhdGluZyBkYXRhIGluCitv bmUgRGF0YSBTZXQgKHVzdWFsbHkgYSBUYWJsZSkgd2l0aCBhbm90aGVyLgorICAgICAgVE9ETwor ICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8 dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+S2V5PC9nbG9zc2FyeXRlcm0+ PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIEtleSBpcyBhIG1l YW5zIG9mIGlkZW50aWZ5aW5nIGEgcm93IHdpdGhpbiBhIFRhYmxlIG9yIFJlbGF0aW9uIGJ5IHZh bHVlcworY29udGFpbmVkIHdpdGhpbiBvbmUgb3IgbW9yZSBBdHRyaWJ1dGVzIGluIHRoYXQgVGFi bGUuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisK KyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Mb2NrPC9nbG9zc2Fy eXRlcm0+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIG1lY2hh bmlzbSBmb3Igb25lIHByb2Nlc3MgdGVtcG9yYXJpbHkgcHJldmVudGluZyBkYXRhIGZyb20gYmVp bmcKK21hbmlwdWxhdGVkIGJ5IGFueSBvdGhlciBwcm9jZXNzLgorICAgICAgVE9ETworICAgICA8 L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlz dGVudHJ5PgorICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+TG9nZ2VkPC9nbG9zc2FyeXRlcm0+PC90 ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIHRhYmxlIGlzIGNvbnNp ZGVyZWQgTG9nZ2VkIGlmIGNoYW5nZXMgdG8gdGhlIHRhYmxlIGFyZSBzZW5kIHRvIHRoZSBXQUwK K2xvZy4gQnkgZGVmYXVsdCwgYWxsIHJlZ3VsYXIgdGFibGVzIGFyZSBsb2dnZWQuIEEgdGFibGUg Y2FuIGJlIHNwZWZpY2llZCBhcwordW5sb2dnZWQgZWl0aGVyIGF0IGNyZWF0aW9uIHRpbWUgb3Ig dmlhIHRoZSBBTFRFUiBUQUJMRSBjb21tYW5kLiBUaGUgcHJpbWFyeSB1c2UKK29mIHVubG9nZ2Vk IHRhYmxlcyBpcyBmb3Igc3RvcmluZyB0cmFuc2llbnQgd29yayBkYXRhIHRoYXQgbXVzdCBiZSBz aGFyZWQgYWNyb3NzCitwcm9jZXNzZXMsIGJ1dCB3aXRoIGEgZmluYWwgcmVzdWx0IHN0b3JlZCBp biBsb2dnZWQgdGFibGVzLiAgVGVtcG9yYXJ5IHRhYmxlcyBhcmUKK2Fsd2F5cyB1bmxvZ2dlZC4K KyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAg PHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPk1hc3RlcjwvZ2xvc3Nhcnl0 ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgV2hlbiB0d28g b3IgbW9yZSBkYXRhYmFzZXMgYXJlIGxpbmtlZCB2aWEgcmVwbGljYXRpb24sIHRoZSBzZXJ2ZXIg dGhhdCBpcworY29uc2lkZXJlZCB0aGUgYXV0aG9yaXRhdGl2ZSBzb3VyY2Ugb2YgaW5mb3JtYXRp b24gaXMgY2FsbGVkIHRoZSBNYXN0ZXIuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgor ICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3Nz YXJ5dGVybT5NYXRlcmlhbGl6ZWQ8L2dsb3NzYXJ5dGVybT48L3Rlcm0+CisgICAgPGxpc3RpdGVt PgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBhY3Qgb2Ygc3RvcmluZyBpbmZvcm1hdGlvbiByYXRo ZXIgdGhhbiBqdXN0IHRoZSBtZWFucyBvZiBhY2Nlc3NpbmcgdGhlCitpbmZvcm1hdGlvbi4gVGhp cyB0ZXJtIGlzIHVzZWQgaW4gTWF0ZXJpYWxpemVkIFZpZXdzIG1lYW5pbmcgdGhhdCB0aGUgZGF0 YQorZGVyaXZlZCBmcm9tIHRoZSB2aWV3IGlzIGFjdHVhbGx5IHN0b3JlZCBvbiBkaXNrIHNlcGFy YXRlIGZyb20gdGhlIHNvdXJjZXMgb2YKK3RoYXQgZGF0YS4gV2hlbiBtYXRlcmlhbGl6ZWQgaXMg dXNlZCBpbiBzcGVha2luZyBhYm91dCBtdWxpdC1zdGVwIHF1ZXJpZXMsIGl0CittZWFucyB0aGF0 IHRoZSBkYXRhIG9mIGEgZ2l2ZW4gc3RlcCBpcyBzdG9yZWQgKGluIG1lbW9yeSwgYnV0IHRoYXQg c3RvcmFnZSBtYXkKK3NwaWxsIG92ZXIgb250byBkaXNrKQorICAgICA8L3BhcmE+CisgICAgPC9s aXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0 ZXJtPjxnbG9zc2FyeXRlcm0+TWF0ZXJpYWxpemVkIFZpZXc8L2dsb3NzYXJ5dGVybT48L3Rlcm0+ CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIEEgUmVsYXRpb24gdGhhdCBpcyBk ZWZpbmVkIGluIHRoZSBzYW1lIHdheSB0aGF0IGEgVmlldyBpcywgYnV0IGl0IHN0b3JlcworZGF0 YSBpbiB0aGUgc2FtZSB3YXkgdGhhdCBhIFRhYmxlIGRvZXMuIGl0IGNhbm5vdCBiZSBtb2RpZmll ZCB2aWEgSU5TRVJULAorVVBEQVRFLCBvciBERUxFVEUgb3BlcmF0aW9ucy4KKyAgICAgPC9wYXJh PgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRy eT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPk51bGw8L2dsb3NzYXJ5dGVybT48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIEEgY29uY2VwdCBvZiBub24tZXhpc3Rl bmNlIHRoYXQgaXMgYSBjZW50cmFsIHRlbmV0IG9mIFJlbGF0aW9uYWwgRGF0YWJhc2UKK1RoZW9y eS4gSXQgcmVwcmVzZW50cyB0aGUgYWJzZW5jZSBvZiB2YWx1ZS4KKyAgICAgPC9wYXJhPgorICAg IDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAg ICA8dGVybT48Z2xvc3Nhcnl0ZXJtPlBhcnRpdGlvbjwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAg ICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgQSBUYWJsZSB0aGF0IGNhbiBiZSBxdWVy aWVkIGluZGVwZW5kZW50bHkgYnkgaXRzIG93biBuYW1lLCBidXQgY2FuIGFsc28gYmUKK3F1ZXJp ZWQgdmlhIGFub3RoZXIgdGFibGUsIGEgcGFydGl0aW9lbmQgdGFibGUsIHdoaWNoIGlzIGEgY29s bGVjdGlvbiBvZgorc3ViLXRhYmxlcywgZWFjaCBjYXBhYmxlIG9mIGhvbGRpbmcgb25lIGRlZmlu ZWQgc3Vic2V0IG9mIGluZm9ybWF0aW9uIHRoYXQgZG9lcworbm90IG92ZXJsYXAgd2l0aCBhbnkg b3RoZXIgdGFibGUgaW4gdGhlIHNldCBvZiB0YWJsZXMuCisgICAgIDwvcGFyYT4KKyAgICAgPHBh cmE+CisgICAgICBBIGRlZmluZWQgYm91bmRhcnkgdXNlZCBpbiBhbiBBbmFseXRpYyBmdW5jdGlv biB0byBpZGVudGlmeSB3aGljaAorbmVpZ2hib3Jpbmcgcm93cyBjYW4gYmUgY29uc2lkZXJlZCBi eSB0aGUgZnVuY3Rpb24gZm9yIHRoaXMgcGFydGljdWxhciByb3cuCisgICAgIDwvcGFyYT4KKyAg ICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+Cisg ICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5QcmltYXJ5IEtleTwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4K KyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgQSBVbmlxdWUgSW5kZXggZGVmaW5l ZCBvbiBhIFRhYmxlIG9yIG90aGVyIFJlbGF0aW9uIHRoYXQgYWxzbyBndWFyYW50ZWVzCit0aGF0 IGFsbCBvZiB0aGUgQXR0cmlidXRlcyB3aXRoaW4gdGhlIFByaW1hcnkgS2V5IGRvIG5vdCBoYXZl IG51bGwgdmFsdWVzLgorQXMgdGhlIG5hbWUgaW1wbGllcywgdGhlcmUgY2FuIGJlIG9ubHkgb25l IFByaW1hcnkgS2V5IHBlciB0YWJsZSwgdGhvdWdoIGl0IGlzCitwb3NzaWJsZSB0byBoYXZlIG11 bHRpcGxlIFVuaXF1ZSBJbmRleGVzIHRoYXQgYWxzbyBoYXZlIG5vIG51bGwtY2FwYWJsZQorYXR0 cmlidXRlcy4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRy eT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPlByb2NlZHVy ZTwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAg ICAgQSBkZWZpbmVkIHNldCBvZiBpbnN0cnVjdGlvbnMgZm9yIG1hbmlwdWxhdGluZyBkYXRhIHdp dGhpbiBhIGRhdGFiYXNlLgorUHJvY2VkdXJlcyBjYW4gYmUgd3JpdHRlbiBpbiBhIHZhcmlldHkg b2YgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzLiBUaGV5IG1heSBhcHBlYXIKK2xpa2UgRnVuY3Rpb25z IGJ1dCBhcmUgZGlmZmVyZW50IGluIHRoYXQgdGhleSBtdXN0IGJlIGludm9rZWQgdmlhIHRoZSBD QUxMCitjb21tYW5kIHJhdGhlciB0aGFuIHRoZSBTRUxFQ1Qgb3IgUEVSRk9STSBjb21tYW5kcywg YW5kIHRoZXkgYXJlIGFsbG93ZWQgdG8gbWFrZQordHJhbnNhY3Rpb25hbCBzdGF0ZW1lbnRzIGxp a2UgQ09NTUlUIGFuZCBST0xMQkFDSy4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+Cisg ICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nh cnl0ZXJtPlJlY29yZDwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAg IDxwYXJhPgorICAgICAgQSBkYXRhIHN0cnVjdHVyZSB0aGF0IGNvbnNpc3RzIG9mIG9uZSBvciBt b3JlIEF0dHJpYnV0ZXMgaW4gYSBkZWZpbmVkCitvcmRlci4KKyAgICAgPHBhcmE+CisgICAgICBB IHNpbmdsZSByb3cgb2YgYSBUYWJsZSBvciBvdGhlciBSZWxhdGlvbi4KKyAgICAgPC9wYXJhPgor ICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8 dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+UmVmZXJlbnRpYWwgSW50ZWdy aXR5PC9nbG9zc2FyeXRlcm0+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+Cisg ICAgICBUaGUgbWVhbnMgb2YgcmVzdHJpY3RpbmcgZGF0YSBpbiBvbmUgUmVsYXRpb24gc3VjaCB0 aGF0IGl0IG11c3QgaGF2ZQorbWF0Y2hpbmcgZGF0YSBpbiBhbm90aGVyIFJlbGF0aW9uLgorICAg ICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFy bGlzdGVudHJ5PgorICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+UmVsYXRpb248L2dsb3NzYXJ5dGVy bT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBnZW5lcmlj IHRlcm0gZm9yIGFsbCBvYmplY3RzIGluIGEgZGF0YWJhc2UgdGhhdCBoYXZlIGEgbmFtZSBhbmQg YQorbGlzdCBvZiBhdHRyaWJ1dGVzIGRlZmluZWQgaW4gYSBzcGVjaWZpYyBvcmRlci4gVGFibGVz LCBWaWV3cywgRm9yZWlnbiBUYWJsZXMsCitNYXRlcmlhbGl6ZWQgVmlld3MgYW5kIEluZGV4ZXMg YXJlIGFsbCBSZWxhdGlvbnMuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92 YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVy bT5SZXBsaWNhPC9nbG9zc2FyeXRlcm0+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBh cmE+CisgICAgICBBIGRhdGFiYXNlIHRoYXQgaXMgcGFpcmVkIHdpdGggYSBNYXN0ZXIgZGF0YWJh c2UgYW5kIGlzIG1haW50YWluaW5nIGEgY29weQorb2Ygc29tZSBvciBhbGwgb2YgdGhlIE1hc3Rl ciBkYXRhYmFzZSdzIGRhdGEuIFRoZSBwcmltYXJ5IHJlYXNvbnMgZm9yIGRvaW5nIHRoaXMKK2Fy ZSB0byBhbGxvdyBmb3IgZ3JlYXRlciBhY2Nlc3MgdG8gdGhhdCBkYXRhLCBhbmQgdG8gbWFpbnRh aW4gYXZhaWxhYmlsaXR5IG9mCit0aGUgZGF0YSBpbiB0aGUgZXZlbiB0aGF0IHRoZSBtYXN0ZXIg YmVjb21lcyB1bmF2YWlsYWJsZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8 L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0 ZXJtPlJldm9rZTwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxw YXJhPgorICAgICAgQSBjb21tYW5kIHRvIHJlZHVjZSBhY2Nlc3MgdG8gYSBuYW1lZCBzZXQgb2Yg ZGF0YWJhc2Ugb2JqZWN0cyBmb3IgYSBuYW1lZAorbGlzdCBvZiB1c2VycyBhbmQgUm9sZXMuCisg ICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2 YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Sb2xlPC9nbG9zc2FyeXRlcm0+ PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIGNvbGxlY3Rpb24g b2YgYWNjZXNzIHByaXZpbGVnZXMgdG8gdGhlIGRhdGFiYXNlLiBSb2xlcyBhcmUgdGhlbXNlbHZl cyBhCitwcml2aWxlZ2UgdGhhdCBjYW4gYmUgZ3JhbnRlZCB0byBvdGhlciByb2xlcy4gVGhpcyBp cyBvZnRlbiBkb25lIGZvciBjb252ZW5pZW5jZQorb3IgdG8gZW5zdXJlIGNvbXBsZXRlbmVzcyB3 aGVuIG11bHRpcGxlIFVzZXJzIG5lZWQgdGhlIHNhbWUgcHJpdmlsZWdlcy4KKyAgICAgPC9wYXJh PgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRy eT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPlJvbGxiYWNrPC9nbG9zc2FyeXRlcm0+PC90ZXJt PgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIGNvbW1hbmQgdG8gdW5kbyBh bGwgb2YgdGhlIG9wZXJhdGlvbnMgcGVyZm9ybWVkIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgYQor dHJhbnNhY3Rpb24uCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0 ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Sb3c8 L2dsb3NzYXJ5dGVybT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAg IEEgdHVwbGUgb3IgcmVjb3JkIGZvdW5kIHdpdGhpbiBhIFJlbGF0aW9uIG9yIGEgUmVzdWx0IFNl dC4gVGhpcyB0ZXJtIGlzCitvZnRlbiB1c2VkIGludGVyY2hhbmdhYmx5IHdpdGggUmVjb3JkIGFu ZCBUdXBsZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRy eT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPlNjaGVtYTwv Z2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAg QSBuYW1lZCBjb2xsZWN0aW9uIG9mIGRhdGFiYXNlIG9iamVjdHMgb3JnYW5pemVkIHRvIGZhY2ls aXRhdGUgY2xhcml0eSBvcgorc2VjdXJpdHkuIE1vc3Qgb2Z0ZW4gdXNlZCBsaWtlIGEgbmFtZXNw YWNlIGlzIHVzZWQgaW4gcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzLgorQWxsIG9iamVjdHMgYmVsb25n IHRvIGV4YWN0bHkgb25lIHNjaGVtYSwgbW9zdCBjb21tb25seSAicHVibGljIiwgdGhlIGRlZmF1 bHQKK3NjaGVtYS4KKyAgICAgPC9wYXJhPgorICAgICA8cGFyYT4KKyAgICAgIE1vcmUgZ2VuZXJp Y2FsbHksIHRoZSB0ZXJtIFNjaGVtYSBpcyB1c2VkIHRvIG1lYW4gYWxsIGRhdGEgZGVzY3JpcHRp b25zCisodGFibGUgZGVmaW5pdGlvbnMsIGNvbnN0cmFpbnRzLCBjb21tZW50cykgZm9yIGEgZ2l2 ZW4gZGF0YWJhc2UuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0 ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5TZWxl Y3Q8L2dsb3NzYXJ5dGVybT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAg ICAgIFRoZSBjb21tYW5kIHVzZWQgdG8gcXVlcnkgYSBkYXRhYmFzZS4gTm9ybWFsbHksIFNFTEVD VHMgYXJlIG5vdCBleHBlY3RlZAordG8gbW9kaWZ5IHRoZSBkYXRhYmFzZSBpbiBhbnkgd2F5LCBi dXQgaXQgaXMgcG9zc2libGUgdGhhdCBmdW5jdGlvbnMgaW52b2tlZAord2l0aGluIHRoZSBxdWVy eSBjb3VsZCBoYXZlIHNpZGUtZWZmZWN0cyB0aGF0IGRvIG1vZGlmeSBkYXRhLgorICAgICA8L3Bh cmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVu dHJ5PgorICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+U2VyaWFsaXphYmxlPC9nbG9zc2FyeXRlcm0+ PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBEYXRhYmFzZSBzZXNz aW9ucyBpbiBhIHRyYW5zYWN0aW9uIGRlZmluZWQgYXMgU0VSSUFMSVpBQkxFIGFyZSB1bmFibGUg dG8gc2VlIGNoYW5nZXMgbWFkZQordG8gdGhlIGRhdGFiYXNlIGJ5IG90aGVyIHNlc3Npb25zLiBJ biBlZmZlY3QsIHRoZSBlbnRpcmUgZGF0YWJhc2UgYXBwZWFycyB0byBiZQorZnJvemVuIGluIHRp bWUgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdHJhbnNhY3Rpb24uCisgICAgIDwvcGFyYT4KKyAg ICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+Cisg ICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5TZXNzaW9uPC9nbG9zc2FyeXRlcm0+PC90ZXJtPgorICAg IDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIGNvbm5lY3Rpb24gdG8gdGhlIGRhdGFi YXNlLgorICAgICA8L3BhcmE+CisgICAgIDxwYXJhPgorICAgICAgQSBkZXNjcmlwdGlvbiBvZiB0 aGUgY29tbWFuZHMgdGhhdCB3ZXJlIGlzc3VlZCBpbiB0aGUgbGlmZSBjeWNsZSBvZiBhCitwYXJ0 aWN1bGFyIGNvbm5lY3Rpb24gdG8gdGhlIGRhdGFiYXNlLgorICAgICA8L3BhcmE+CisgICAgPC9s aXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0 ZXJtPjxnbG9zc2FyeXRlcm0+VGFibGU8L2dsb3NzYXJ5dGVybT48L3Rlcm0+CisgICAgPGxpc3Rp dGVtPgorICAgICA8cGFyYT4KKyAgICAgIEEgY29sbGVjdGlvbiBvZiB0dXBsZXMgKGFsc28ga25v d24gYXMgcm93cyBvciByZWNvcmRzKSBoYXZpbmcgYSBjb21tb24gZGF0YSBzdHJ1Y3R1cmUgKHRo ZSBzYW1lIG51bWJlciBvZiBjb2x1bW5zLCBpbiB0aGUgc2FtZSBvcmRlciwgaGF2aW5nIHRoZSBz YW1lIHR5cGUpLiBBIHRhYmxlIGlzIHRoZSBtb3N0IGNvbW1vbiBmb3JtIG9mIHJlbGF0aW9uIGlu IDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4uIAorICAgICA8L3BhcmE+Cisg ICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5Pgor ICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+VGVtcG9yYXJ5PC9nbG9zc2FyeXRlcm0+PC90ZXJtPgor ICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBUZW1wb3JhcnkgdGFibGVzIGFyZSB0 YWJsZXMgdGhhdCBleGlzdCBlaXRoZXIgZm9yIHRoZSBsaWZldGltZSBvZiBhCitTZXNzaW9uIG9y IGEgVHJhbnNhY3Rpb24sIGFzIGRlZmluZWQgYXQgY3JlYXRpb24gdGltZS4gVGhlIGRhdGEgaW4g dGhlbSBpcyBub3QKK3Zpc2libGUgdG8gb3RoZXIgU2Vzc2lvbnMsIGFuZCBpcyBub3QgbG9nZ2Vk LiBUZW1wb3JhcnkgdGFibGVzIGFyZSBtb3N0IG9mdGVuCit1c2VkIHRvIHN0b3JlIGludGVybWVk aWF0ZSBkYXRhIGZvciBhIG11bHRpLXN0ZXAgZGF0YSB0cmFuc2Zvcm1hdGlvbi4KKyAgICAgPC9w YXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3Rl bnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPlRyYW5zYWN0aW9uPC9nbG9zc2FyeXRlcm0+ PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIGNvbWJpbmF0aW9u IG9mIG9uZSBvciBtb3JlIGNvbW1hbmRzIHRoYXQgbXVzdCBhY3QgYXMgYSBzaW5nbGUgQXRvbWlj Citjb21tYW5kOiB0aGV5IGFsbCBzdWNjZWVkIG9yIGZhaWwgdG9nZXRoZXIsIGFuZCB0aGVpciBl ZmZlY3RzIGFyZSBub3QgdmlzaWJsZSB0bworb3RoZXIgc2Vzc2lvbnMgdW50aWwgdGhlIHRyYW5z YWN0aW9uIGlzIGNvbXBsZXRlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwv dmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxnbG9zc2FyeXRl cm0+VHJpZ2dlcjwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxw YXJhPgorICAgICAgQSBmdW5jdGlvbiB3aGljaCBjYW4gYmUgZGVmaW5lZCB0byBleGVjdXRlIHdo ZW5ldmVyIGEgY2VydGFpbiBvcGVyYXRpb24KKyhJbnNlcnQsIFVwZGF0ZSwgb3IgRGVsZXRlKSBp cyBhcHBsaWVkIHRvIHRoYXQgUmVsYXRpb24uIEEgdHJpZ2dlciBleGVjdXRlcword2l0aGluIHRo ZSBzYW1lIHRyYW5zYWN0aW9uIGFzIHRoZSBzdGF0ZW1lbnQgd2hpY2ggaW52b2tlZCBpdCwgYW5k IGlmIHRoZQorZnVuY3Rpb24gZmFpbHMgdGhlbiB0aGUgaW52b2tpbmcgc3RhdGVtZW50IGFsc28g ZmFpbHMuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+ CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5UdXBsZTwvZ2xv c3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgQSBj b2xsZWN0aW9uIG9mIEF0dHJpYnV0ZXMgaW4gYSBmaXhlZCBvcmRlci4gVGhhdCBvcmRlciBtYXkg YmUgZGVmaW5lZCBieQordGhlIFRhYmxlIHdoZXJlIHRoZSBUdXBsZSBpcyBmb3VuZCwgaW4gd2hp Y2ggY2FzZSB0aGUgVHVwbGUgaXMgb2Z0ZW4gY2FsbGVkIGEKK1JvdyBvciBSZWNvcmQuIEl0IG1h eSBhbHNvIGJlIGRlZmluZWQgYnkgdGhlIHN0cnVjdHVyZSBvZiBhIFJlc3VsdCBTZXQuCisgICAg IDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJs aXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5VbmlxdWU8L2dsb3NzYXJ5dGVybT48 L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBjb25kaXRpb24g b2YgaGF2aW5nIG5vIG1hdGNoaW5nIHZhbHVlcyBpbiB0aGUgc2FtZSBSZWxhdGlvbi4gTW9zdAor b2Z0ZW4gdXNlZCBpbiB0aGUgY29uY2VwdCBvZiBVbmlxdWUgSW5kZXhlcy4KKyAgICAgPC9wYXJh PgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRy eT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPlVubG9nZ2VkPC9nbG9zc2FyeXRlcm0+PC90ZXJt PgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIHJlbGF0aW9uIHRoYXQgaXMg dW5sb2dnZWQgd2lsbCBub3QgaGF2ZSBjaGFuZ2VzIHJlZmxlY3RlZCBpbiB0aGUgV0FMCitsb2cs IHdoaWNoIHdvdWxkIGVuYWJsZSB0aG9zZSBjaGFuZ2VzIHRvIGJlIGR1cGxpY2F0ZWQgb24gYSBy ZXBsaWNhLCBhbmQgYWxzbworZW5hYmxlcyB0aGUgY2hhbmdlIHRvIHN1cnZpdmUgYSBkYXRhYmFz ZSBjcmFzaC4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRy eT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPlVwZGF0ZTwv Z2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAg QSBjb21tYW5kIHVzZWQgdG8gbW9kaWZ5IHJvd3MgdGhhdCBhbHJlYWR5IGV4aXN0IGluIGEgc3Bl Y2lmaWVkIHRhYmxlLiBJdAorY2Fubm90IGNyZWF0ZSByb3dzIG5vciBjYW4gaXQgcmVtb3ZlIHJv d3MuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisK KyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+PGdsb3NzYXJ5dGVybT5Vc2VyPC9nbG9zc2Fy eXRlcm0+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIHNwZWNp ZmljIGNhc2Ugb2YgYSBSb2xlIHRoYXQgaXMgZW50aXRsZWQgdG8gYWNjZXNzIChsb2cgaW50bykg dGhlCitkYXRhYmFzZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxp c3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48Z2xvc3Nhcnl0ZXJtPlVz ZXIgTWFwcGluZzwvZ2xvc3Nhcnl0ZXJtPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxw YXJhPgorICAgICAgVGhlIHRyYW5zbGF0aW9uIG9mIHVzZXIgY3JlZGVudGlhbHMgaW4gdGhlIGxv Y2FsIGRhdGFiYXNlIHRvIGNyZWRlbnRpYWxzCitpbiBhIHJlbW90ZSBkYXRhIHN5c3RlbSBkZWZp bmVkIGJ5IGEgRm9yZWlnbiBEYXRhIFdyYXBwZXIuCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3Rp dGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50cnk+CisgICAgPHRlcm0+ PGdsb3NzYXJ5dGVybT5WaWV3PC9nbG9zc2FyeXRlcm0+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4K KyAgICAgPHBhcmE+CisgICAgICBBIFJlbGF0aW9uIHRoYXQgaXMgZGVmaW5lZCBieSBhIFNlbGVj dCBTdGF0ZW1lbnQsIGJ1dCBoYXMgbm8gc3RvcmFnZSBvZiBpdHMgb3duLiBBbnkKK3RpbWUgYSBx dWVyeSByZWZlcmVuY2VzIGEgVmlldywgdGhlIGRlZmluaXRpb24gb2YgdGhlIHZpZXcgaXMgc3Vi c3RpdHV0ZWQgaW50bwordGhlIHF1ZXJ5IGFzIGlmIHRoZSB1c2VyIGhhZCB0eXBlZCB0aGF0IHN1 YnF1ZXJ5IGluc3RlYWQgb2YgdGhlIG5hbWUgb2YgdGhlCit2aWV3LgorICAgICA8L3BhcmE+Cisg ICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFybGlzdGVudHJ5Pgor ICAgIDx0ZXJtPjxnbG9zc2FyeXRlcm0+V2luZG93IEZ1bmN0aW9uPC9nbG9zc2FyeXRlcm0+PC90 ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBBIHR5cGUgb2YgZnVuY3Rp b24gc2ltaWxhciB0byBhbiBhZ2dyZWdhdGUgaW4gdGhhdCBjYW4gZGVyaXZlIGl0cyB2YWx1ZQor ZnJvbSBhIHNldCBvZiByb3dzIGluIGEgcmVzdWx0IHNldCwgYnV0IHN0aWxsIHJldGFpbmluZyB0 aGUgb3JpZ2luYWwgc291cmNlCitkYXRhLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4K KyAgIDwvdmFybGlzdGVudHJ5PgorCis8L2FwcGVuZGl4PgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9z Z21sL3N0eWxlc2hlZXQuY3NzIGIvZG9jL3NyYy9zZ21sL3N0eWxlc2hlZXQuY3NzCmluZGV4IDFh NjZjNzg5ZDUuLmU1MTc1MmFjYTIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9zdHlsZXNoZWV0 LmNzcworKysgYi9kb2Mvc3JjL3NnbWwvc3R5bGVzaGVldC5jc3MKQEAgLTEwMSw2ICsxMDEsOCBA QCB2YXIJCXsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC1zdHlsZTogaXRhbGljOyB9CiAv KiBLb25xdWVyb3IncyBzdGFuZGFyZCBzdHlsZSBmb3IgQUNST05ZTSBpcyBpdGFsaWMuICovCiBh Y3JvbnltCQl7IGZvbnQtc3R5bGU6IGluaGVyaXQ7IH0KIAorZ2xvc3Nhcnl0ZXJtIHsgZm9udC1z dHlsZTogaW5oZXJpdDsgfQorCiAub3B0aW9uCQl7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0KIAog LyogbWFrZSBpbWFnZXMgbm90IHRvbyB3aWRlIG9uIGxhcmdlciBzY3JlZW5zICovCi0tIAoyLjE3 LjEKCg== --0000000000003c68b50594d0ed78--