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.94.2) (envelope-from ) id 1vCeoO-00Ghy8-64 for pgsql-hackers@arkaria.postgresql.org; Sat, 25 Oct 2025 14:00:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vCeoM-0039wL-Vo for pgsql-hackers@arkaria.postgresql.org; Sat, 25 Oct 2025 14:00:02 +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.94.2) (envelope-from ) id 1vCLHW-000KxW-E2 for pgsql-hackers@lists.postgresql.org; Fri, 24 Oct 2025 17:08:49 +0000 Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vCLHM-0041j1-2r for pgsql-hackers@lists.postgresql.org; Fri, 24 Oct 2025 17:08:49 +0000 Received: by mail-io1-xd2e.google.com with SMTP id ca18e2360f4ac-940d7cd5045so96794839f.0 for ; Fri, 24 Oct 2025 10:08:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=illuminatedcomputing-com.20230601.gappssmtp.com; s=20230601; t=1761325718; x=1761930518; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QRen0Q4CVuZ1jixGR494zwphDFXKr/4mrO2Fdalw7S4=; b=RZ/TsZnl/SEh4GTFu2W1SRlcifX0ZRRc3zOd1SMrZYNaofbO/0RZwRW5+zNh7BXA9a cgiklBcZWO0ZyrqamLY+d9nvyZ6F6SeXjekf1+djNC3mBzTuwVzVT8OxKpBkiElN6Z4g /KikiXYZ1oV9v8WudE2Mey7DAyvgZbez2ErfSCscnZtaLyGazhItGTWCR9Hz0yttgg2u 99S9ULEr/s2mVGl55iCUjHoGMh47MDoxf6PMsIu9YG/ebEOPi32jy+7SNttM1hpl4uQ9 J/dgs2q3wXVyFt5TqQiDI/E4ZKPf5xFWKGj3kGu6ybZyvPr3MZtMUlcpmxN9uEWn56Bi 7p/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761325718; x=1761930518; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QRen0Q4CVuZ1jixGR494zwphDFXKr/4mrO2Fdalw7S4=; b=Rfw6gQTIARMQ8MdgBVTppdoJwJgBOZpGou9sNLc1Xx4tkBhmNqnuwMy8gkLec1jze1 w4NDl8VK8AZpYqMi0apWSdP3SAqB/no4FzY8r6T0pzYcSkzhhgBjnTAKoAVdXkkQFgbO VjVPl29WrrYEd/CyZ5DARsykANjO2ghskE3gi6+P0H9K4SRiVgr4cpOSE9Ww8QIXT+2L QWbp5pbrAzNIK7hQQD3Rd2cfKTchRpySdbSaco0Asdlf1w0yDwfsS7BofshNcTl6CHFl DeC9bOZfN4pSmBiK/4c2xFm8qnnbpoH4PhakEtWFxLwwM9qme+KaBgCaMer4B+By98+8 59Xw== X-Gm-Message-State: AOJu0YyMYz3sdpatUef7yss2gtsgnIzbC/UIjibaA24c4QBR+kIQqd5/ Skz/np2dVrf0zBkzQNxQQywmrdbHh2KzbtcpzETQSG83OpxEKMo0Y+L3pK23kYt7ULSLwgRg/gU kzyNbMFO6ciXwaQXxQWL/TPBIg+B1dFzTEOkLaDicr3BZQcO8408st56I9g== X-Gm-Gg: ASbGncvjPz3ZkxKUAsfASjF+cbgUKZ5VrSNy7Z63ZwIt/e9lZiu1wheRTOPXqkh2qke 1ROJ4CdI0476DDl/vYQw2PS9KbeXwp2SdWmL07Sq8zyC/+6WZN1n/UH2gq6sycqA/nMIyvBkFxn e+0wcftcDKW5o7ZHqw2tvZA4o2DyN7TZCImTZsh/6IXIJdhcVyqfmaDV34/ZWVgRehfeB4ihmKr vwYQF5XBGMeRDao6gY/WfJ/vcVhr0RZ7CpqJvPLHHlCHfiPO/lX/3+u7bw5pUinnU0f X-Google-Smtp-Source: AGHT+IFdxtOgjcY8rIn51dc9eB7+hdioAtbmxGJ4otmsvlkP3B94a4mzvK8NHLVKB6FMdsVzQh6bzvy7nmLK3sFs/Ew= X-Received: by 2002:a92:cd85:0:b0:430:bf84:e941 with SMTP id e9e14a558f8ab-431ebdf16a4mr46060325ab.3.1761325718181; Fri, 24 Oct 2025 10:08:38 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Paul A Jungwirth Date: Fri, 24 Oct 2025 10:08:26 -0700 X-Gm-Features: AS18NWDLA7tHSeeUI_O2OY4poJ9yqCGOD8DWZeMUZPkZgbq0ip8O6VaylbEY-Hk Message-ID: Subject: Re: SQL:2011 Application Time Update & Delete To: PostgreSQL Hackers Cc: Tom Lane , Robert Haas , Peter Eisentraut Content-Type: multipart/mixed; boundary="000000000000c475330641ea99bd" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c475330641ea99bd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Oct 12, 2025 at 11:43=E2=80=AFPM Paul A Jungwirth wrote: > > > Here is another update, now with working PERIOD DDL. I also fixed som= e > > > new post-rebase problems causing CI to fail. > > > > More rebase & CI fixes attached. > > > > Rebased to 03d40e4b52 now. > > It looks like an #include I needed went away and my patches stopped > compiling. Here is a new series. Another update attached. The last CI run failed, but it seems to be a problem with the cfbot. It had several green runs before that, and everything still passes here. The error is: Failed to start: INVALID_ARGUMENT: Operation with name "operation-1761179023113-641c8720efc82-b98ffe61-7c88ff25" failed with status =3D HttpJsonStatusCode{statusCode=3DPERMISSION_DENIED} and message =3D FORBIDDEN These new patches have some cleanup to the docs: whitespace, a bit of clarification between application-time vs system-period PERIODs, and removing the "periods are not supported" line in the final patch that adds PERIODs. The first 3 doc patches all apply to features that we released in v18, so it would be nice to get those reviewed/merged soon if possible. Patches 4-6 are another group, adding UPDATE/DELETE FOR PORTION OF. That is the next step in SQL:2011 support. I think it is hard to use temporal primary & foreign keys without temporal DML. After that the patches are nice-to-have (especially foreign key CASCADE), but less important IMO. Also I apologize that those last attachments were out of order. Hopefully it was user error so I can do something about it: I recently switched from Thunderbird back to the Gmail web client. As I write this email, Gmail is telling me the v57 files are in the right order, so hopefully they stay that way after I send it. Rebased to c0677d8b2e. Yours, --=20 Paul ~{:-) pj@illuminatedcomputing.com --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0002-Document-temporal-foreign-keys.patch" Content-Disposition: attachment; filename="v57-0002-Document-temporal-foreign-keys.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnjt1 RnJvbSBjODFjNGY5YWZiNzIzOGQ5OTM4MzhhOTM1NjA0YTBkMzYxZGYzZjlhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjM6MjM6MjggLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NyAwMi8xMV0gRG9jdW1lbnQgdGVtcG9yYWwgZm9yZWlnbiBrZXlzCgpBdXRo b3I6IFBhdWwgQS4gSnVuZ3dpcnRoIDxwakBpbGx1bWluYXRlZGNvbXB1dGluZy5jb20+Ci0tLQog ZG9jL3NyYy9zZ21sL2ltYWdlcy9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAzICstCiBkb2Mv c3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXJlZmVyZW5jZXMuc3ZnIHwgMzcgKysrKysrKysrKysr CiBkb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXJlZmVyZW5jZXMudHh0IHwgMjEgKysrKysr KwogZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwgICAgICAgICAgICAgICAgICB8IDY3ICsrKysr KysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMjcgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9y YWwtcmVmZXJlbmNlcy5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwvaW1hZ2Vz L3RlbXBvcmFsLXJlZmVyZW5jZXMudHh0CgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdl cy9NYWtlZmlsZSBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKaW5kZXggMWQ5OWQ0ZTMw YzguLmZkNTViOWFkMjNmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL01ha2VmaWxl CisrKyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKQEAgLTYsNyArNiw4IEBAIEFMTF9J TUFHRVMgPSBcCiAJZ2VuZXRpYy1hbGdvcml0aG0uc3ZnIFwKIAlnaW4uc3ZnIFwKIAlwYWdlbGF5 b3V0LnN2ZyBcCi0JdGVtcG9yYWwtZW50aXRpZXMuc3ZnCisJdGVtcG9yYWwtZW50aXRpZXMuc3Zn IFwKKwl0ZW1wb3JhbC1yZWZlcmVuY2VzLnN2ZwogCiBESVRBQSA9IGRpdGFhCiBET1QgPSBkb3QK ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtcmVmZXJlbmNlcy5zdmcg Yi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXJlZmVyZW5jZXMuc3ZnCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mOTA5MWFjOWIwYQotLS0gL2Rldi9udWxsCisr KyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtcmVmZXJlbmNlcy5zdmcKQEAgLTAsMCAr MSwzNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3Lncz Lm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDk3MCAzNTAiIHdpZHRoPSI5NzAiIGhlaWdodD0i MzUwIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdmVyc2lvbj0iMS4wIj4K KyAgPGRlZnM+CisgICAgPGZpbHRlciBpZD0iZjIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyMDAlIiBo ZWlnaHQ9IjIwMCUiPgorICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0iU291cmNl R3JhcGhpYyIgZHg9IjUiIGR5PSI1Ii8+CisgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSJi bHVyT3V0IiBpbj0ib2ZmT3V0IiBzdGREZXZpYXRpb249IjMiLz4KKyAgICAgIDxmZUJsZW5kIGlu PSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCIvPgorICAgIDwvZmls dGVyPgorICA8L2RlZnM+CisgIDxnIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVjYXA9InNx dWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CisgICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lk dGg9Ijk3MCIgaGVpZ2h0PSIzNTAiIHN0eWxlPSJmaWxsOiAjZmZmZmZmIi8+CisgICAgPHBhdGgg c3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0i cm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9Ik0zODUuMCAx MzMuMCBMOTI1LjAgMTMzLjAgTDkyNS4wIDYzLjAgTDM4NS4wIDYzLjAgeiIvPgorICAgIDxwYXRo IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9 InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjZmZmZjMzIiBkPSJNMjA1LjAg MTMzLjAgTDIwNS4wIDIwMy4wIEw2NTUuMCAyMDMuMCBMNjU1LjAgMTMzLjAgeiIvPgorICAgIDxw YXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVj YXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjZmZmZjMzIiBkPSJNODQ1 LjAgMjAzLjAgTDg0NS4wIDI3My4wIEw0MjUuMCAyNzMuMCBMNDI1LjAgMjAzLjAgeiIvPgorICAg IDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxp bmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJN Mzg1LjAgNjMuMCBMMzg1LjAgMTMzLjAgTDI1LjAgMTMzLjAgTDI1LjAgNjMuMCB6Ii8+CisgICAg PHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGlu ZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0yMDUu MCAyOTQuMCBMMjA1LjAgMzA3LjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJv a2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9p bj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0zODUuMCAyOTQuMCBMMzg1LjAgMzA3LjAgIi8+Cisg ICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2Ut bGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0y NS4wIDI5NC4wIEwyNS4wIDMwNy4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ry b2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpv aW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNNTY1LjAgMjk0LjAgTDU2NS4wIDMwNy4wICIvPgor ICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tl LWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJN NzQ1LjAgMjk0LjAgTDc0NS4wIDMwNy4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIg c3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGlu ZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNOTI1LjAgMjk0LjAgTDkyNS4wIDMwNy4wICIv PgorICAgIDx0ZXh0IHg9IjQwIiB5PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6 ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3RleHQ+CisgICAg PHRleHQgeD0iNDAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUi IHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsICQ1LCBbMSBKYW4gMjAyMCwxIEphbiAy MDIyKSk8L3RleHQ+CisgICAgPHRleHQgeD0iMjAwIiB5PSIzMjAiIGZvbnQtZmFtaWx5PSJDb3Vy aWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjE8L3Rl eHQ+CisgICAgPHRleHQgeD0iMjIwIiB5PSIxNjYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnZhcmlhbnRzPC90ZXh0Pgor ICAgIDx0ZXh0IHg9IjIyMCIgeT0iMTgwIiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXpl PSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4oOCwgNSwgJ01lZGl1bScsIFsxIEph biAyMDIxLDEgSnVuIDIwMjMpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMCIgeT0iMzIwIiBmb250 LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAw MDAwIj4yMDIwPC90ZXh0PgorICAgIDx0ZXh0IHg9IjQ0MCIgeT0iMjM2IiBmb250LWZhbWlseT0i Q291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj52YXJp YW50czwvdGV4dD4KKyAgICA8dGV4dCB4PSI0NDAiIHk9IjI1MCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDksIDUsICdY WEwnLCBbMSBNYXIgMjAyMiwxIEp1biAyMDI0KSk8L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5 PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIg ZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5PSIxMTAi IGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9 IiMwMDAwMDAiPig1LCAkOCwgWzEgSmFuIDIwMjIsKSk8L3RleHQ+CisgICAgPHRleHQgeD0iNTYw IiB5PSIzMjAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5v bmUiIGZpbGw9IiMwMDAwMDAiPjIwMjM8L3RleHQ+CisgICAgPHRleHQgeD0iMzgwIiB5PSIzMjAi IGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9 IiMwMDAwMDAiPjIwMjI8L3RleHQ+CisgICAgPHRleHQgeD0iOTI5IiB5PSIzMjAiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi Pi4uLjwvdGV4dD4KKyAgICA8dGV4dCB4PSI3NDAiIHk9IjMyMCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNDwvdGV4 dD4KKyAgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBv cmFsLXJlZmVyZW5jZXMudHh0IGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1yZWZlcmVu Y2VzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDFjYWQxYmNm OGIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXJlZmVy ZW5jZXMudHh0CkBAIC0wLDAgKzEsMjEgQEAKKworCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCit8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNHUkUgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IHByb2R1Y3Rz ICAgICAgICAgICAgICAgICAgICAgICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICg1LCAkNSwgWzEgSmFuIDIwMjAsMSBKYW4gMjAy MikpICB8ICg1LCAkOCwgWzEgSmFuIDIwMjIsKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICAgICAgICAgICB8IGNZRUwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICB8IHZhcmlhbnRz ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICB8 ICg4LCA1LCAnTWVkaXVtJywgWzEgSmFuIDIwMjEsMSBKdW4gMjAyMykpICB8CisgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg ICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgY1lFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHZhcmlhbnRzICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAoOSwgNSwgJ1hYTCcsIFsxIE1hciAyMDIyLDEgSnVuIDIwMjQpKSAgfAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK3wg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwKKzIwMjAgICAgICAgICAgICAgIDIwMjEg ICAgICAgICAgICAgIDIwMjIgICAgICAgICAgICAgIDIwMjMgICAgICAgICAgICAgIDIwMjQgICAg ICAgICAgICAgIC4uLgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwgYi9k b2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbAppbmRleCA1ZDFmNjk3ZmVlOC4uMDhjNzY5OTEyOTAg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dt bC90ZW1wb3JhbC5zZ21sCkBAIC0xNjIsNiArMTYyLDczIEBAIGNvbW1hbmQuCiAgICA8L3BhcmE+ CiAgIDwvc2VjdDI+CiAKKyAgPHNlY3QyIGlkPSJhcHBsaWNhdGlvbi10aW1lLWZvcmVpZ24ta2V5 cyI+CisgICA8dGl0bGU+VGVtcG9yYWwgRm9yZWlnbiBLZXlzPC90aXRsZT4KKworICAgPHBhcmE+ CisgICAgQSB0ZW1wb3JhbCBmb3JlaWduIGtleSBpcyBhIHJlZmVyZW5jZSBmcm9tIG9uZSBhcHBs aWNhdGlvbi10aW1lCisgICAgdGFibGUgdG8gYW5vdGhlciBhcHBsaWNhdGlvbi10aW1lIHRhYmxl LiBKdXN0IGFzIGEgbm9uLXRlbXBvcmFsCisgICAgcmVmZXJlbmNlIHJlcXVpcmVzIGEgcmVmZXJl bmNlZCBrZXkgdG8gZXhpc3QsIHNvIGEgdGVtcG9yYWwgcmVmZXJlbmNlCisgICAgcmVxdWlyZXMg YSByZWZlcmVuY2VkIGtleSB0byBleGlzdCwgYnV0IGR1cmluZyB3aGF0ZXZlciBoaXN0b3J5IHRo ZQorICAgIHJlZmVyZW5jZSBleGlzdHMuIFNvIGlmIHRoZSA8bGl0ZXJhbD5wcm9kdWN0czwvbGl0 ZXJhbD4gdGFibGUgaXMKKyAgICByZWZlcmVuY2VkIGJ5IGEgPGxpdGVyYWw+dmFyaWFudHM8L2xp dGVyYWw+IHRhYmxlLCBhbmQgYSB2YXJpYW50IG9mCisgICAgcHJvZHVjdCA1IGhhcyBhbiBhcHBs aWNhdGlvbi10aW1lIG9mCisgICAgPGxpdGVyYWw+WzIwMjAtMDEtMDEsMjAyNi0wMS0wMSk8L2xp dGVyYWw+LCB0aGVuIHByb2R1Y3QgNSBtdXN0IGV4aXN0CisgICAgdGhyb3VnaG91dCB0aGF0IHBl cmlvZC4KKyAgIDwvcGFyYT4KKworICAgPGZpZ3VyZSBpZD0idGVtcG9yYWwtcmVmZXJlbmNlcy1m aWd1cmUiPgorICAgIDx0aXRsZT5UZW1wb3JhbCBGb3JlaWduIEtleSBFeGFtcGxlPC90aXRsZT4K KyAgICA8bWVkaWFvYmplY3Q+CisgICAgIDxpbWFnZW9iamVjdD4KKyAgICAgIDxpbWFnZWRhdGEg ZmlsZXJlZj0iaW1hZ2VzL3RlbXBvcmFsLXJlZmVyZW5jZXMuc3ZnIiBmb3JtYXQ9IlNWRyIgd2lk dGg9IjEwMCUiLz4KKyAgICAgPC9pbWFnZW9iamVjdD4KKyAgICA8L21lZGlhb2JqZWN0PgorICAg PC9maWd1cmU+CisKKyAgIDxwYXJhPgorICAgIDx4cmVmIGxpbmtlbmQ9InRlbXBvcmFsLXJlZmVy ZW5jZXMtZmlndXJlIi8+IHBsb3RzIHByb2R1Y3QgNSAoaW4KKyAgICBncmVlbikgYW5kIHR3byB2 YXJpYW50cyByZWZlcmVuY2luZyBpdCAoaW4geWVsbG93KSBvbiB0aGUgc2FtZQorICAgIHRpbWVs aW5lLiBFYWNoIHZhcmlhbnQgdHVwbGUgaXMgc2hvd24gd2l0aCBpdHMgaWQsIGEgcHJvZHVjdCBp ZCwgYQorICAgIG5hbWUsIGFuZCBhbiBhcHBsaWNhdGlvbi10aW1lLiBTbyB2YXJpYW50IDggKE1l ZGl1bSkgd2FzIGludHJvZHVjZWQKKyAgICBmaXJzdCwgdGhlbiB2YXJpYW50IDkgKFhYTCkuIEJv dGggc2F0aXNmeSB0aGUgZm9yZWlnbiBrZXkgY29uc3RyYWludCwKKyAgICBiZWNhdXNlIHRoZSBy ZWZlcmVuY2VkIHByb2R1Y3QgZXhpc3RzIHRocm91Z2hvdXQgdGhlaXIgZW50aXJlIGhpc3Rvcnku CisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIE5vdGUgdGhhdCBhIHRlbXBvcmFsIHJlZmVy ZW5jZSBuZWVkIG5vdCBiZSBmdWxmaWxsZWQgYnkgYSBzaW5nbGUKKyAgICByb3cgaW4gdGhlIHJl ZmVyZW5jZWQgdGFibGUuIFByb2R1Y3QgNSBoYWQgYSBwcmljZSBjaGFuZ2UgaW4gdGhlIG1pZGRs ZQorICAgIG9mIHZhcmlhbnQgOCdzIGhpc3RvcnksIGJ1dCB0aGUgcmVmZXJlbmNlIGlzIHN0aWxs IHZhbGlkLiBUaGUKKyAgICBjb21iaW5hdGlvbiBvZiBhbGwgbWF0Y2hpbmcgcm93cyBpcyB1c2Vk IHRvIHRlc3Qgd2hldGhlciB0aGUgcmVmZXJlbmNlZAorICAgIGhpc3RvcnkgY29udGFpbnMgdGhl IHJlZmVyZW5jaW5nIHJvdy4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgVGhlIHN5bnRh eCB0byBkZWNsYXJlIGEgdGVtcG9yYWwgZm9yZWlnbiBrZXkgaXM6CisKKzxwcm9ncmFtbGlzdGlu Zz4KK0FMVEVSIFRBQkxFIHZhcmlhbnRzCisgIEFERCBDT05TVFJBSU5UIHZhcmlhbnRzX2lkX3Zh bGlkX2F0X2ZrZXkKKyAgRk9SRUlHTiBLRVkgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVS RU5DRVMgcHJvZHVjdHMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpOworPC9wcm9ncmFtbGlzdGluZz4K KworICAgIE5vdGUgdGhhdCB0aGUga2V5d29yZCA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IG11 c3QgYmUgdXNlZCBmb3IgYXBwbGljYXRpb24tdGltZSBjb2x1bW4KKyAgICBpbiBib3RoIHRoZSBy ZWZlcmVuY2luZyBhbmQgcmVmZXJlbmNlZCB0YWJsZS4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+ CisgICAgQSB0ZW1wb3JhbCBwcmltYXJ5IGtleSBvciB1bmlxdWUgY29uc3RyYWludCBtYXRjaGlu ZyB0aGUgcmVmZXJlbmNlZCBjb2x1bW5zCisgICAgbXVzdCBleGlzdCBvbiB0aGUgcmVmZXJlbmNl ZCB0YWJsZS4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgPHByb2R1Y3RuYW1lPlBvc3Rn cmVTUUw8L3Byb2R1Y3RuYW1lPiBzdXBwb3J0cyA8bGl0ZXJhbD5OTyBBQ1RJT048L2xpdGVyYWw+ IHRlbXBvcmFsIGZvcmVpZ24ga2V5cywKKyAgICBidXQgbm90IDxsaXRlcmFsPlJFU1RSSUNUPC9s aXRlcmFsPiwgPGxpdGVyYWw+Q0FTQ0FERTwvbGl0ZXJhbD4sIDxsaXRlcmFsPlNFVCBOVUxMPC9s aXRlcmFsPiwKKyAgICBvciA8bGl0ZXJhbD5TRVQgREVGQVVMVDwvbGl0ZXJhbD4uCisgICA8L3Bh cmE+CisgIDwvc2VjdDI+CisKICAgPHNlY3QyIGlkPSJhcHBsaWNhdGlvbi10aW1lLXVwZGF0ZS1k ZWxldGUiPgogICAgPHRpdGxlPlRlbXBvcmFsIFVwZGF0ZSBhbmQgRGVsZXRlPC90aXRsZT4KIAot LSAKMi4zOS41Cgo= --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0005-Add-range_minus_multi-and-multirange_minus_multi.patch" Content-Disposition: attachment; filename="v57-0005-Add-range_minus_multi-and-multirange_minus_multi.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnk04 RnJvbSBiYzg1NGVmNzkwNjMxMDdiNjJiNGI3ZmJlNmQ0NzdiNmNlMjQ3N2U1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgMzAgRGVjIDIwMjMgMjM6MTA6NTkgLTA4MDAKU3ViamVj dDogW1BBVENIIHY1NyAwNS8xMV0gQWRkIHJhbmdlX21pbnVzX211bHRpIGFuZCBtdWx0aXJhbmdl X21pbnVzX211bHRpCiBmdW5jdGlvbnMKClRoZSBleGlzdGluZyByYW5nZV9taW51cyBmdW5jdGlv biByYWlzZXMgYW4gZXhjZXB0aW9uIHdoZW4gdGhlIHJhbmdlIGlzCiJzcGxpdCIsIGJlY2F1c2Ug dGhlbiB0aGUgcmVzdWx0IGNhbid0IGJlIHJlcHJlc2VudGVkIGJ5IGEgc2luZ2xlIHJhbmdlLgpG b3IgZXhhbXBsZSAnWzAsMTApJzo6aW50NHJhbmdlIC0gJ1s0LDUpJyB3b3VsZCBiZSAnWzAsNCkn IGFuZCAnWzUsMTApJy4KClRoaXMgY29tbWl0IGFkZHMgbmV3IHNldC1yZXR1cm5pbmcgZnVuY3Rp b25zIHNvIHRoYXQgY2FsbGVycyBjYW4gZ2V0CnJlc3VsdHMgZXZlbiBpbiB0aGUgY2FzZSBvZiBz cGxpdHMuIFRoZXJlIGlzIG5vIHJpc2sgb2YgYW4gZXhjZXB0aW9uIGZvcgptdWx0aXJhbmdlcywg YnV0IGEgc2V0LXJldHVybmluZyBmdW5jdGlvbiBsZXRzIHVzIGhhbmRsZSB0aGVtIHRoZSBzYW1l CndheSB3ZSBoYW5kbGUgcmFuZ2VzLgoKQm90aCBmdW5jdGlvbnMgcmV0dXJuIHplcm8gcmVzdWx0 cyBpZiB0aGUgc3VidHJhY3Rpb24gd291bGQgZ2l2ZSBhbgplbXB0eSByYW5nZS9tdWx0aXJhbmdl LgoKVGhlIG1haW4gdXNlLWNhc2UgZm9yIHRoZXNlIGZ1bmN0aW9ucyBpcyB0byBpbXBsZW1lbnQg VVBEQVRFL0RFTEVURSBGT1IKUE9SVElPTiBPRiwgd2hpY2ggbXVzdCBjb21wdXRlIHRoZSBhcHBs aWNhdGlvbi10aW1lIG9mICJ0ZW1wb3JhbApsZWZ0b3ZlcnMiOiB0aGUgcGFydCBvZiBoaXN0b3J5 IGluIGFuIHVwZGF0ZWQvZGVsZXRlZCByb3cgdGhhdCB3YXMgbm90CmNoYW5nZWQuIFRvIHByZXNl cnZlIHRoZSB1bnRvdWNoZWQgaGlzdG9yeSwgd2Ugd2lsbCBpbXBsaWNpdGx5IGluc2VydApvbmUg cmVjb3JkIGZvciBlYWNoIHJlc3VsdCByZXR1cm5lZCBieSByYW5nZS9tdWx0aXJhbmdlX21pbnVz X211bHRpLgpVc2luZyBhIHNldC1yZXR1cm5pbmcgZnVuY3Rpb24gd2lsbCBhbHNvIGxldCB1cyBz dXBwb3J0IHVzZXItZGVmaW5lZAp0eXBlcyBmb3IgYXBwbGljYXRpb24tdGltZSB1cGRhdGUvZGVs ZXRlIGluIHRoZSBmdXR1cmUuCgpBdXRob3I6IFBhdWwgQS4gSnVuZ3dpcnRoIDxwakBpbGx1bWlu YXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1yYW5nZS5zZ21s ICAgICAgICAgICAgIHwgIDQyICsrKysrCiBzcmMvYmFja2VuZC91dGlscy9hZHQvbXVsdGlyYW5n ZXR5cGVzLmMgICAgICAgfCAgNzEgKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9yYW5n ZXR5cGVzLmMgICAgICAgICAgICB8IDE2NiArKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICB8ICAgOCArCiBzcmMvaW5jbHVkZS91 dGlscy9yYW5nZXR5cGVzLmggICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9tdWx0aXJhbmdldHlwZXMub3V0IHwgMTE2ICsrKysrKysrKysrKwogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9yYW5nZXR5cGVzLm91dCAgICAgIHwgIDU0ICsrKysrKwogc3Jj L3Rlc3QvcmVncmVzcy9zcWwvbXVsdGlyYW5nZXR5cGVzLnNxbCAgICAgIHwgIDIyICsrKwogc3Jj L3Rlc3QvcmVncmVzcy9zcWwvcmFuZ2V0eXBlcy5zcWwgICAgICAgICAgIHwgIDEwICsrCiA5IGZp bGVzIGNoYW5nZWQsIDQ5MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L2Z1bmMvZnVuYy1yYW5nZS5zZ21sIGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1yYW5nZS5zZ21s CmluZGV4IDJkYzQwMzQ4YTU3Li5hNDE4N2Q4NDA2YyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L2Z1bmMvZnVuYy1yYW5nZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMtcmFuZ2Uu c2dtbApAQCAtODQyLDYgKzg0MiwyOSBAQAogICAgICAgICA8cmV0dXJudmFsdWU+WzEsNCk8L3Jl dHVybnZhbHVlPgogICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICAgPC9yb3c+CisKKyAgICAg IDxyb3c+CisgICAgICAgPGVudHJ5IHJvbGU9ImZ1bmNfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImZ1bmNfc2lnbmF0dXJlIj4KKyAgICAgICAgPGluZGV4dGVybT4KKyAgICAgICAgIDxwcmltYXJ5 PnJhbmdlX21pbnVzX211bHRpPC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAgICAg ICAgPGZ1bmN0aW9uPnJhbmdlX21pbnVzX211bHRpPC9mdW5jdGlvbj4gKCA8dHlwZT5hbnlyYW5n ZTwvdHlwZT4sIDx0eXBlPmFueXJhbmdlPC90eXBlPiApCisgICAgICAgIDxyZXR1cm52YWx1ZT5z ZXRvZiBhbnlyYW5nZTwvcmV0dXJudmFsdWU+CisgICAgICAgPC9wYXJhPgorICAgICAgIDxwYXJh PgorICAgICAgICBSZXR1cm5zIHRoZSBub24tZW1wdHkgcmFuZ2UocykgcmVtYWluaW5nIGFmdGVy IHN1YnRyYWN0aW5nIHRoZSBzZWNvbmQgcmFuZ2UgZnJvbSB0aGUgZmlyc3QuCisgICAgICAgIE9u ZSByb3cgaXMgcmV0dXJuZWQgZm9yIGVhY2ggcmFuZ2UsIHNvIGlmIHRoZSBzZWNvbmQgcmFuZ2Ug c3BsaXRzIHRoZSBmaXJzdCBpbnRvIHR3byBwYXJ0cywKKyAgICAgICAgdGhlcmUgd2lsbCBiZSB0 d28gcmVzdWx0cy4gSWYgdGhlIHN1YnRyYWN0aW9uIHlpZWxkcyBhbiBlbXB0eSByYW5nZSwgbm8g cm93cyBhcmUgcmV0dXJuZWQuCisgICAgICAgPC9wYXJhPgorICAgICAgIDxwYXJhPgorICAgICAg ICA8bGl0ZXJhbD5yYW5nZV9taW51c19tdWx0aSgnWzAsMTApJzo6aW50NHJhbmdlLCAnWzMsNCkn OjppbnQ0cmFuZ2UpPC9saXRlcmFsPgorICAgICAgICA8cmV0dXJudmFsdWU+PC9yZXR1cm52YWx1 ZT4KKzxwcm9ncmFtbGlzdGluZz4KKyBbMCwzKQorIFs0LDEwKQorPC9wcm9ncmFtbGlzdGluZz4K KyAgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgIDwvcm93PgogICAgICA8L3Rib2R5PgogICAg IDwvdGdyb3VwPgogICAgPC90YWJsZT4KQEAgLTEwNDEsNiArMTA2NCwyNSBAQAogPC9wcm9ncmFt bGlzdGluZz4KICAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgIDwvcm93PgorCisgICAgICA8 cm93PgorICAgICAgIDxlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJm dW5jX3NpZ25hdHVyZSI+CisgICAgICAgIDxpbmRleHRlcm0+CisgICAgICAgICA8cHJpbWFyeT5t dWx0aXJhbmdlX21pbnVzX211bHRpPC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAg ICAgICAgPGZ1bmN0aW9uPm11bHRpcmFuZ2VfbWludXNfbXVsdGk8L2Z1bmN0aW9uPiAoIDx0eXBl PmFueW11bHRpcmFuZ2U8L3R5cGU+LCA8dHlwZT5hbnltdWx0aXJhbmdlPC90eXBlPiApCisgICAg ICAgIDxyZXR1cm52YWx1ZT5zZXRvZiBhbnltdWx0aXJhbmdlPC9yZXR1cm52YWx1ZT4KKyAgICAg ICA8L3BhcmE+CisgICAgICAgPHBhcmE+CisgICAgICAgIFJldHVybnMgdGhlIG5vbi1lbXB0eSBt dWx0aXJhbmdlKHMpIHJlbWFpbmluZyBhZnRlciBzdWJ0cmFjdGluZyB0aGUgc2Vjb25kIG11bHRp cmFuZ2UgZnJvbSB0aGUgZmlyc3QuCisgICAgICAgIElmIHRoZSBzdWJ0cmFjdGlvbiB5aWVsZHMg YW4gZW1wdHkgbXVsdGlyYW5nZSwgbm8gcm93cyBhcmUgcmV0dXJuZWQuCisgICAgICAgIFR3byBy b3dzIGFyZSBuZXZlciByZXR1cm5lZCwgYmVjYXVzZSBhIHNpbmdsZSBtdWx0aXJhbmdlIGNhbiBh bHdheXMgYWNjb21tb2RhdGUgYW55IHJlc3VsdC4KKyAgICAgICA8L3BhcmE+CisgICAgICAgPHBh cmE+CisgICAgICAgIDxsaXRlcmFsPnJhbmdlX21pbnVzX211bHRpKCdbMCwxMCknOjppbnQ0cmFu Z2UsICdbMyw0KSc6OmludDRyYW5nZSk8L2xpdGVyYWw+CisgICAgICAgIDxyZXR1cm52YWx1ZT57 WzAsMyksIFs0LDEwKX08L3JldHVybnZhbHVlPgorICAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICAgPC9yb3c+CiAgICAgIDwvdGJvZHk+CiAgICAgPC90Z3JvdXA+CiAgICA8L3RhYmxlPgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L211bHRpcmFuZ2V0eXBlcy5jIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L211bHRpcmFuZ2V0eXBlcy5jCmluZGV4IDg0NzMzZGM1MDE5Li5lM2Ux MDMxOGYyNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L211bHRpcmFuZ2V0eXBl cy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9tdWx0aXJhbmdldHlwZXMuYwpAQCAtMTIy Niw2ICsxMjI2LDc3IEBAIG11bHRpcmFuZ2VfbWludXNfaW50ZXJuYWwoT2lkIG1sdHJuZ3R5cG9p ZCwgVHlwZUNhY2hlRW50cnkgKnJhbmdldHlwLAogCXJldHVybiBtYWtlX211bHRpcmFuZ2UobWx0 cm5ndHlwb2lkLCByYW5nZXR5cCwgcmFuZ2VfY291bnQzLCByYW5nZXMzKTsKIH0KIAorLyoKKyAq IG11bHRpcmFuZ2VfbWludXNfbXVsdGkgLSBsaWtlIG11bHRpcmFuZ2VfbWludXMgYnV0IHJldHVy bmluZyB0aGUgcmVzdWx0IGFzIGEgU1JGLAorICogd2l0aCBubyByb3dzIGlmIHRoZSByZXN1bHQg d291bGQgYmUgZW1wdHkuCisgKi8KK0RhdHVtCittdWx0aXJhbmdlX21pbnVzX211bHRpKFBHX0ZV TkNUSU9OX0FSR1MpCit7CisJRnVuY0NhbGxDb250ZXh0ICpmdW5jY3R4OworCU1lbW9yeUNvbnRl eHQgb2xkY29udGV4dDsKKworCWlmICghU1JGX0lTX0ZJUlNUQ0FMTCgpKQorCXsKKwkJLyogV2Ug bmV2ZXIgaGF2ZSBtb3JlIHRoYW4gb25lIHJlc3VsdCAqLworCQlmdW5jY3R4ID0gU1JGX1BFUkNB TExfU0VUVVAoKTsKKwkJU1JGX1JFVFVSTl9ET05FKGZ1bmNjdHgpOworCX0KKwllbHNlCisJewor CQlNdWx0aXJhbmdlVHlwZSAqbXIxOworCQlNdWx0aXJhbmdlVHlwZSAqbXIyOworCQlPaWQJCQlt bHRybmd0eXBvaWQ7CisJCVR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZTsKKwkJVHlwZUNhY2hlRW50 cnkgKnJhbmdldHlwOworCQlpbnQzMgkJcmFuZ2VfY291bnQxOworCQlpbnQzMgkJcmFuZ2VfY291 bnQyOworCQlSYW5nZVR5cGUgKipyYW5nZXMxOworCQlSYW5nZVR5cGUgKipyYW5nZXMyOworCQlN dWx0aXJhbmdlVHlwZSAqbXI7CisKKwkJZnVuY2N0eCA9IFNSRl9GSVJTVENBTExfSU5JVCgpOwor CisJCS8qCisJCSAqIHN3aXRjaCB0byBtZW1vcnkgY29udGV4dCBhcHByb3ByaWF0ZSBmb3IgbXVs dGlwbGUgZnVuY3Rpb24gY2FsbHMKKwkJICovCisJCW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0 U3dpdGNoVG8oZnVuY2N0eC0+bXVsdGlfY2FsbF9tZW1vcnlfY3R4KTsKKworCQkvKiBnZXQgYXJn cywgZGV0b2FzdGluZyBpbnRvIG11bHRpLWNhbGwgbWVtb3J5IGNvbnRleHQgKi8KKwkJbXIxID0g UEdfR0VUQVJHX01VTFRJUkFOR0VfUCgwKTsKKwkJbXIyID0gUEdfR0VUQVJHX01VTFRJUkFOR0Vf UCgxKTsKKworCQltbHRybmd0eXBvaWQgPSBNdWx0aXJhbmdlVHlwZUdldE9pZChtcjEpOworCQl0 eXBjYWNoZSA9IGxvb2t1cF90eXBlX2NhY2hlKG1sdHJuZ3R5cG9pZCwgVFlQRUNBQ0hFX01VTFRJ UkFOR0VfSU5GTyk7CisJCWlmICh0eXBjYWNoZS0+cm5ndHlwZSA9PSBOVUxMKQorCQkJZWxvZyhF UlJPUiwgInR5cGUgJXUgaXMgbm90IGEgbXVsdGlyYW5nZSB0eXBlIiwgbWx0cm5ndHlwb2lkKTsK KwkJcmFuZ2V0eXAgPSB0eXBjYWNoZS0+cm5ndHlwZTsKKworCQlpZiAoTXVsdGlyYW5nZUlzRW1w dHkobXIxKSB8fCBNdWx0aXJhbmdlSXNFbXB0eShtcjIpKQorCQkJbXIgPSBtcjE7CisJCWVsc2UK KwkJeworCQkJbXVsdGlyYW5nZV9kZXNlcmlhbGl6ZShyYW5nZXR5cCwgbXIxLCAmcmFuZ2VfY291 bnQxLCAmcmFuZ2VzMSk7CisJCQltdWx0aXJhbmdlX2Rlc2VyaWFsaXplKHJhbmdldHlwLCBtcjIs ICZyYW5nZV9jb3VudDIsICZyYW5nZXMyKTsKKworCQkJbXIgPSBtdWx0aXJhbmdlX21pbnVzX2lu dGVybmFsKG1sdHJuZ3R5cG9pZCwKKwkJCQkJCQkJCQkgICByYW5nZXR5cCwKKwkJCQkJCQkJCQkg ICByYW5nZV9jb3VudDEsCisJCQkJCQkJCQkJICAgcmFuZ2VzMSwKKwkJCQkJCQkJCQkgICByYW5n ZV9jb3VudDIsCisJCQkJCQkJCQkJICAgcmFuZ2VzMik7CisJCX0KKworCQlNZW1vcnlDb250ZXh0 U3dpdGNoVG8ob2xkY29udGV4dCk7CisKKwkJZnVuY2N0eCA9IFNSRl9QRVJDQUxMX1NFVFVQKCk7 CisJCWlmIChNdWx0aXJhbmdlSXNFbXB0eShtcikpCisJCQlTUkZfUkVUVVJOX0RPTkUoZnVuY2N0 eCk7CisJCWVsc2UKKwkJCVNSRl9SRVRVUk5fTkVYVChmdW5jY3R4LCBNdWx0aXJhbmdlVHlwZVBH ZXREYXR1bShtcikpOworCX0KK30KKwogLyogbXVsdGlyYW5nZSBpbnRlcnNlY3Rpb24gKi8KIERh dHVtCiBtdWx0aXJhbmdlX2ludGVyc2VjdChQR19GVU5DVElPTl9BUkdTKQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JhbmdldHlwZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC9yYW5nZXR5cGVzLmMKaW5kZXggMGIyYWQ4YjA5NzUuLjZjODhmYThjOWI5IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hZHQvcmFuZ2V0eXBlcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9yYW5nZXR5cGVzLmMKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJwb3N0Z3Jl cy5oIgogCiAjaW5jbHVkZSAiY29tbW9uL2hhc2hmbi5oIgorI2luY2x1ZGUgImZ1bmNhcGkuaCIK ICNpbmNsdWRlICJsaWJwcS9wcWZvcm1hdC5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2lu Y2x1ZGUgIm5vZGVzL21ha2VmdW5jcy5oIgpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIm9w dGltaXplci9jbGF1c2VzLmgiCiAjaW5jbHVkZSAib3B0aW1pemVyL2Nvc3QuaCIKICNpbmNsdWRl ICJvcHRpbWl6ZXIvb3B0aW1pemVyLmgiCisjaW5jbHVkZSAidXRpbHMvYXJyYXkuaCIKICNpbmNs dWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2RhdGUuaCIKICNpbmNsdWRl ICJ1dGlscy9sc3lzY2FjaGUuaCIKQEAgLTEyMTQsNiArMTIxNiwxNzAgQEAgcmFuZ2Vfc3BsaXRf aW50ZXJuYWwoVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hlLCBjb25zdCBSYW5nZVR5cGUgKnIxLCBj b25zdCBSYW5nZVQKIAlyZXR1cm4gZmFsc2U7CiB9CiAKKy8qCisgKiByYW5nZV9taW51c19tdWx0 aSAtIGxpa2UgcmFuZ2VfbWludXMgYnV0IGFzIGEgU1JGIHRvIGFjY29tbW9kYXRlIHNwbGl0cywK KyAqIHdpdGggbm8gcmVzdWx0IHJvd3MgaWYgdGhlIHJlc3VsdCB3b3VsZCBiZSBlbXB0eS4KKyAq LworRGF0dW0KK3JhbmdlX21pbnVzX211bHRpKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJdHlwZWRl ZiBzdHJ1Y3QKKwl7CisJCVJhbmdlVHlwZSAgKnJzWzJdOworCQlpbnQJCQluOworCX0JCQlyYW5n ZV9taW51c19tdWx0aV9mY3R4OworCisJRnVuY0NhbGxDb250ZXh0ICpmdW5jY3R4OworCXJhbmdl X21pbnVzX211bHRpX2ZjdHggKmZjdHg7CisJTWVtb3J5Q29udGV4dCBvbGRjb250ZXh0OworCisJ Lyogc3R1ZmYgZG9uZSBvbmx5IG9uIHRoZSBmaXJzdCBjYWxsIG9mIHRoZSBmdW5jdGlvbiAqLwor CWlmIChTUkZfSVNfRklSU1RDQUxMKCkpCisJeworCQlSYW5nZVR5cGUgICpyMTsKKwkJUmFuZ2VU eXBlICAqcjI7CisJCU9pZAkJCXJuZ3R5cGlkOworCQlUeXBlQ2FjaGVFbnRyeSAqdHlwY2FjaGU7 CisKKwkJLyogY3JlYXRlIGEgZnVuY3Rpb24gY29udGV4dCBmb3IgY3Jvc3MtY2FsbCBwZXJzaXN0 ZW5jZSAqLworCQlmdW5jY3R4ID0gU1JGX0ZJUlNUQ0FMTF9JTklUKCk7CisKKwkJLyoKKwkJICog c3dpdGNoIHRvIG1lbW9yeSBjb250ZXh0IGFwcHJvcHJpYXRlIGZvciBtdWx0aXBsZSBmdW5jdGlv biBjYWxscworCQkgKi8KKwkJb2xkY29udGV4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhmdW5j Y3R4LT5tdWx0aV9jYWxsX21lbW9yeV9jdHgpOworCisJCXIxID0gUEdfR0VUQVJHX1JBTkdFX1Ao MCk7CisJCXIyID0gUEdfR0VUQVJHX1JBTkdFX1AoMSk7CisKKwkJLyogRGlmZmVyZW50IHR5cGVz IHNob3VsZCBiZSBwcmV2ZW50ZWQgYnkgQU5ZUkFOR0UgbWF0Y2hpbmcgcnVsZXMgKi8KKwkJaWYg KFJhbmdlVHlwZUdldE9pZChyMSkgIT0gUmFuZ2VUeXBlR2V0T2lkKHIyKSkKKwkJCWVsb2coRVJS T1IsICJyYW5nZSB0eXBlcyBkbyBub3QgbWF0Y2giKTsKKworCQkvKiBhbGxvY2F0ZSBtZW1vcnkg Zm9yIHVzZXIgY29udGV4dCAqLworCQlmY3R4ID0gKHJhbmdlX21pbnVzX211bHRpX2ZjdHggKikg cGFsbG9jKHNpemVvZihyYW5nZV9taW51c19tdWx0aV9mY3R4KSk7CisKKwkJLyoKKwkJICogSW5p dGlhbGl6ZSBzdGF0ZS4gV2UgY2FuJ3Qgc3RvcmUgdGhlIHJhbmdlIHR5cGNhY2hlIGluIGZuX2V4 dHJhCisJCSAqIGJlY2F1c2UgdGhlIGNhbGxlciB1c2VzIHRoYXQgZm9yIHRoZSBTUkYgc3RhdGUu CisJCSAqLworCQlybmd0eXBpZCA9IFJhbmdlVHlwZUdldE9pZChyMSk7CisJCXR5cGNhY2hlID0g bG9va3VwX3R5cGVfY2FjaGUocm5ndHlwaWQsIFRZUEVDQUNIRV9SQU5HRV9JTkZPKTsKKwkJaWYg KHR5cGNhY2hlLT5ybmdlbGVtdHlwZSA9PSBOVUxMKQorCQkJZWxvZyhFUlJPUiwgInR5cGUgJXUg aXMgbm90IGEgcmFuZ2UgdHlwZSIsIHJuZ3R5cGlkKTsKKwkJcmFuZ2VfbWludXNfbXVsdGlfaW50 ZXJuYWwodHlwY2FjaGUsIHIxLCByMiwgZmN0eC0+cnMsICZmY3R4LT5uKTsKKworCQlmdW5jY3R4 LT51c2VyX2ZjdHggPSBmY3R4OworCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7 CisJfQorCisJLyogc3R1ZmYgZG9uZSBvbiBldmVyeSBjYWxsIG9mIHRoZSBmdW5jdGlvbiAqLwor CWZ1bmNjdHggPSBTUkZfUEVSQ0FMTF9TRVRVUCgpOworCWZjdHggPSBmdW5jY3R4LT51c2VyX2Zj dHg7CisKKwlpZiAoZnVuY2N0eC0+Y2FsbF9jbnRyIDwgZmN0eC0+bikKKwl7CisJCS8qCisJCSAq IFdlIG11c3Qga2VlcCB0aGVzZSBvbiBzZXBhcmF0ZSBsaW5lcyBiZWNhdXNlIFNSRl9SRVRVUk5f TkVYVCBkb2VzCisJCSAqIGNhbGxfY250cisrOgorCQkgKi8KKwkJUmFuZ2VUeXBlICAqcmV0ID0g ZmN0eC0+cnNbZnVuY2N0eC0+Y2FsbF9jbnRyXTsKKworCQlTUkZfUkVUVVJOX05FWFQoZnVuY2N0 eCwgUmFuZ2VUeXBlUEdldERhdHVtKHJldCkpOworCX0KKwllbHNlCisJCS8qIGRvIHdoZW4gdGhl cmUgaXMgbm8gbW9yZSBsZWZ0ICovCisJCVNSRl9SRVRVUk5fRE9ORShmdW5jY3R4KTsKK30KKwor LyoKKyAqIHJhbmdlX21pbnVzX211bHRpX2ludGVybmFsIC0gU2V0cyBvdXRwdXRzIGFuZCBvdXRw dXRuIHRvIHRoZSByYW5nZXMKKyAqIHJlbWFpbmluZyBhbmQgdGhlaXIgY291bnQgKHJlc3BlY3Rp dmVseSkgYWZ0ZXIgc3VidHJhY3RpbmcgcjIgZnJvbSByMS4KKyAqIFRoZSBhcnJheSBzaG91bGQg bmV2ZXIgY29udGFpbiBlbXB0eSByYW5nZXMuCisgKiBUaGUgb3V0cHV0cyB3aWxsIGJlIG9yZGVy ZWQuIFdlIGV4cGVjdCB0aGF0IG91dHB1dHMgaXMgYW4gYXJyYXkgb2YKKyAqIFJhbmdlVHlwZSBw b2ludGVycywgYWxyZWFkeSBhbGxvY2F0ZWQgd2l0aCB0d28gZWxlbWVudHMuCisgKi8KK3ZvaWQK K3JhbmdlX21pbnVzX211bHRpX2ludGVybmFsKFR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZSwgUmFu Z2VUeXBlICpyMSwKKwkJCQkJCSAgIFJhbmdlVHlwZSAqcjIsIFJhbmdlVHlwZSAqKm91dHB1dHMs IGludCAqb3V0cHV0bikKK3sKKwlpbnQJCQljbXBfbDFsMiwKKwkJCQljbXBfbDF1MiwKKwkJCQlj bXBfdTFsMiwKKwkJCQljbXBfdTF1MjsKKwlSYW5nZUJvdW5kCWxvd2VyMSwKKwkJCQlsb3dlcjI7 CisJUmFuZ2VCb3VuZAl1cHBlcjEsCisJCQkJdXBwZXIyOworCWJvb2wJCWVtcHR5MSwKKwkJCQll bXB0eTI7CisKKwlyYW5nZV9kZXNlcmlhbGl6ZSh0eXBjYWNoZSwgcjEsICZsb3dlcjEsICZ1cHBl cjEsICZlbXB0eTEpOworCXJhbmdlX2Rlc2VyaWFsaXplKHR5cGNhY2hlLCByMiwgJmxvd2VyMiwg JnVwcGVyMiwgJmVtcHR5Mik7CisKKwlpZiAoZW1wdHkxKQorCXsKKwkJLyogaWYgcjEgaXMgZW1w dHkgdGhlbiByMSAtIHIyIGlzIGVtcHR5LCBzbyByZXR1cm4gemVybyByZXN1bHRzICovCisJCSpv dXRwdXRuID0gMDsKKwkJcmV0dXJuOworCX0KKwllbHNlIGlmIChlbXB0eTIpCisJeworCQkvKiBy MiBpcyBlbXB0eSBzbyB0aGUgcmVzdWx0IGlzIGp1c3QgcjEgKHdoaWNoIHdlIGtub3cgaXMgbm90 IGVtcHR5KSAqLworCQlvdXRwdXRzWzBdID0gcjE7CisJCSpvdXRwdXRuID0gMTsKKwkJcmV0dXJu OworCX0KKworCS8qCisJICogVXNlIHRoZSBzYW1lIGxvZ2ljIGFzIHJhbmdlX21pbnVzX2ludGVy bmFsLCBidXQgc3VwcG9ydCB0aGUgc3BsaXQgY2FzZQorCSAqLworCWNtcF9sMWwyID0gcmFuZ2Vf Y21wX2JvdW5kcyh0eXBjYWNoZSwgJmxvd2VyMSwgJmxvd2VyMik7CisJY21wX2wxdTIgPSByYW5n ZV9jbXBfYm91bmRzKHR5cGNhY2hlLCAmbG93ZXIxLCAmdXBwZXIyKTsKKwljbXBfdTFsMiA9IHJh bmdlX2NtcF9ib3VuZHModHlwY2FjaGUsICZ1cHBlcjEsICZsb3dlcjIpOworCWNtcF91MXUyID0g cmFuZ2VfY21wX2JvdW5kcyh0eXBjYWNoZSwgJnVwcGVyMSwgJnVwcGVyMik7CisKKwlpZiAoY21w X2wxbDIgPCAwICYmIGNtcF91MXUyID4gMCkKKwl7CisJCWxvd2VyMi5pbmNsdXNpdmUgPSAhbG93 ZXIyLmluY2x1c2l2ZTsKKwkJbG93ZXIyLmxvd2VyID0gZmFsc2U7CS8qIGl0IHdpbGwgYmVjb21l IHRoZSB1cHBlciBib3VuZCAqLworCQlvdXRwdXRzWzBdID0gbWFrZV9yYW5nZSh0eXBjYWNoZSwg Jmxvd2VyMSwgJmxvd2VyMiwgZmFsc2UsIE5VTEwpOworCisJCXVwcGVyMi5pbmNsdXNpdmUgPSAh dXBwZXIyLmluY2x1c2l2ZTsKKwkJdXBwZXIyLmxvd2VyID0gdHJ1ZTsJLyogaXQgd2lsbCBiZWNv bWUgdGhlIGxvd2VyIGJvdW5kICovCisJCW91dHB1dHNbMV0gPSBtYWtlX3JhbmdlKHR5cGNhY2hl LCAmdXBwZXIyLCAmdXBwZXIxLCBmYWxzZSwgTlVMTCk7CisKKwkJKm91dHB1dG4gPSAyOworCX0K KwllbHNlIGlmIChjbXBfbDF1MiA+IDAgfHwgY21wX3UxbDIgPCAwKQorCXsKKwkJb3V0cHV0c1sw XSA9IHIxOworCQkqb3V0cHV0biA9IDE7CisJfQorCWVsc2UgaWYgKGNtcF9sMWwyID49IDAgJiYg Y21wX3UxdTIgPD0gMCkKKwl7CisJCSpvdXRwdXRuID0gMDsKKwl9CisJZWxzZSBpZiAoY21wX2wx bDIgPD0gMCAmJiBjbXBfdTFsMiA+PSAwICYmIGNtcF91MXUyIDw9IDApCisJeworCQlsb3dlcjIu aW5jbHVzaXZlID0gIWxvd2VyMi5pbmNsdXNpdmU7CisJCWxvd2VyMi5sb3dlciA9IGZhbHNlOwkv KiBpdCB3aWxsIGJlY29tZSB0aGUgdXBwZXIgYm91bmQgKi8KKwkJb3V0cHV0c1swXSA9IG1ha2Vf cmFuZ2UodHlwY2FjaGUsICZsb3dlcjEsICZsb3dlcjIsIGZhbHNlLCBOVUxMKTsKKwkJKm91dHB1 dG4gPSAxOworCX0KKwllbHNlIGlmIChjbXBfbDFsMiA+PSAwICYmIGNtcF91MXUyID49IDAgJiYg Y21wX2wxdTIgPD0gMCkKKwl7CisJCXVwcGVyMi5pbmNsdXNpdmUgPSAhdXBwZXIyLmluY2x1c2l2 ZTsKKwkJdXBwZXIyLmxvd2VyID0gdHJ1ZTsJLyogaXQgd2lsbCBiZWNvbWUgdGhlIGxvd2VyIGJv dW5kICovCisJCW91dHB1dHNbMF0gPSBtYWtlX3JhbmdlKHR5cGNhY2hlLCAmdXBwZXIyLCAmdXBw ZXIxLCBmYWxzZSwgTlVMTCk7CisJCSpvdXRwdXRuID0gMTsKKwl9CisJZWxzZQorCXsKKwkJZWxv ZyhFUlJPUiwgInVuZXhwZWN0ZWQgY2FzZSBpbiByYW5nZV9taW51c19tdWx0aSIpOworCX0KK30K KwogLyogcmFuZ2UgLT4gcmFuZ2UgYWdncmVnYXRlIGZ1bmN0aW9ucyAqLwogCiBEYXR1bQpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggZWVjYjQzZWM2ZjAuLjI3OTA3YTg2NDUyIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEwOTM5LDYgKzEwOTM5LDEwIEBACiB7IG9pZCA9PiAnMzg2 OScsCiAgIHByb25hbWUgPT4gJ3JhbmdlX21pbnVzJywgcHJvcmV0dHlwZSA9PiAnYW55cmFuZ2Un LAogICBwcm9hcmd0eXBlcyA9PiAnYW55cmFuZ2UgYW55cmFuZ2UnLCBwcm9zcmMgPT4gJ3Jhbmdl X21pbnVzJyB9LAoreyBvaWQgPT4gJzg0MTInLCBkZXNjciA9PiAncmVtb3ZlIHBvcnRpb24gZnJv bSByYW5nZScsCisgIHByb25hbWUgPT4gJ3JhbmdlX21pbnVzX211bHRpJywgcHJvcm93cyA9PiAn MicsCisgIHByb3JldHNldCA9PiAndCcsIHByb3JldHR5cGUgPT4gJ2FueXJhbmdlJywKKyAgcHJv YXJndHlwZXMgPT4gJ2FueXJhbmdlIGFueXJhbmdlJywgcHJvc3JjID0+ICdyYW5nZV9taW51c19t dWx0aScgfSwKIHsgb2lkID0+ICczODcwJywgZGVzY3IgPT4gJ2xlc3MtZXF1YWwtZ3JlYXRlcics CiAgIHByb25hbWUgPT4gJ3JhbmdlX2NtcCcsIHByb3JldHR5cGUgPT4gJ2ludDQnLAogICBwcm9h cmd0eXBlcyA9PiAnYW55cmFuZ2UgYW55cmFuZ2UnLCBwcm9zcmMgPT4gJ3JhbmdlX2NtcCcgfSwK QEAgLTExMjI5LDYgKzExMjMzLDEwIEBACiB7IG9pZCA9PiAnNDI3MScsCiAgIHByb25hbWUgPT4g J211bHRpcmFuZ2VfbWludXMnLCBwcm9yZXR0eXBlID0+ICdhbnltdWx0aXJhbmdlJywKICAgcHJv YXJndHlwZXMgPT4gJ2FueW11bHRpcmFuZ2UgYW55bXVsdGlyYW5nZScsIHByb3NyYyA9PiAnbXVs dGlyYW5nZV9taW51cycgfSwKK3sgb2lkID0+ICc4NDExJywgZGVzY3IgPT4gJ3JlbW92ZSBwb3J0 aW9uIGZyb20gbXVsdGlyYW5nZScsCisgIHByb25hbWUgPT4gJ211bHRpcmFuZ2VfbWludXNfbXVs dGknLCBwcm9yb3dzID0+ICcxJywKKyAgcHJvcmV0c2V0ID0+ICd0JywgcHJvcmV0dHlwZSA9PiAn YW55bXVsdGlyYW5nZScsCisgIHByb2FyZ3R5cGVzID0+ICdhbnltdWx0aXJhbmdlIGFueW11bHRp cmFuZ2UnLCBwcm9zcmMgPT4gJ211bHRpcmFuZ2VfbWludXNfbXVsdGknIH0sCiB7IG9pZCA9PiAn NDI3MicsCiAgIHByb25hbWUgPT4gJ211bHRpcmFuZ2VfaW50ZXJzZWN0JywgcHJvcmV0dHlwZSA9 PiAnYW55bXVsdGlyYW5nZScsCiAgIHByb2FyZ3R5cGVzID0+ICdhbnltdWx0aXJhbmdlIGFueW11 bHRpcmFuZ2UnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvcmFuZ2V0eXBlcy5oIGIv c3JjL2luY2x1ZGUvdXRpbHMvcmFuZ2V0eXBlcy5oCmluZGV4IDUwYWRiM2M4YzEzLi44MzZmMmIw OTE0YiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvcmFuZ2V0eXBlcy5oCisrKyBiL3Ny Yy9pbmNsdWRlL3V0aWxzL3JhbmdldHlwZXMuaApAQCAtMTY0LDUgKzE2NCw3IEBAIGV4dGVybiBS YW5nZVR5cGUgKm1ha2VfZW1wdHlfcmFuZ2UoVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hlKTsKIGV4 dGVybiBib29sIHJhbmdlX3NwbGl0X2ludGVybmFsKFR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZSwg Y29uc3QgUmFuZ2VUeXBlICpyMSwKIAkJCQkJCQkJIGNvbnN0IFJhbmdlVHlwZSAqcjIsIFJhbmdl VHlwZSAqKm91dHB1dDEsCiAJCQkJCQkJCSBSYW5nZVR5cGUgKipvdXRwdXQyKTsKK2V4dGVybiB2 b2lkIHJhbmdlX21pbnVzX211bHRpX2ludGVybmFsKFR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZSwg UmFuZ2VUeXBlICpyMSwKKwkJCQkJCQkJCSAgIFJhbmdlVHlwZSAqcjIsIFJhbmdlVHlwZSAqKm91 dHB1dHMsIGludCAqb3V0cHV0bik7CiAKICNlbmRpZgkJCQkJCQkvKiBSQU5HRVRZUEVTX0ggKi8K ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91dAppbmRleCA2 M2RlNGQwOWIxNS4uZjVlN2RmOGRmNDMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L211bHRpcmFuZ2V0eXBlcy5vdXQKQEAgLTIyMDAsNiArMjIwMCwxMjIgQEAgU0VMRUNUIG51bW11 bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1KSkgLSBudW1tdWx0aXJhbmdlKG51 bXJhbmdlKC0yLDAKICB7WzEsMiksWzQsNSl9CiAoMSByb3cpCiAKKy0tIG11bHRpcmFuZ2VfbWlu dXNfbXVsdGkKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UoKSwg bnVtbXVsdGlyYW5nZSgpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShu dW1tdWx0aXJhbmdlKCksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSkpOworIG11bHRpcmFu Z2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK1NF TEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSks IG51bW11bHRpcmFuZ2UoKSk7CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIHtbMSwyKX0KKygxIHJvdykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWlu dXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5nZSgzLDQpKSwgbnVt bXVsdGlyYW5nZSgpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisge1sxLDIpLFszLDQpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9t aW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51 bXJhbmdlKDEsMikpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1t dWx0aXJhbmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsNCkpKTsK KyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sx LDIpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJh bmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDMsNCkpKTsKKyBtdWx0 aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpfQor KDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51 bXJhbmdlKDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpKTsKKyBtdWx0aXJhbmdl X21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1syLDQpfQorKDEgcm93 KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsMykpKTsKKyBtdWx0aXJhbmdlX21pbnVz X211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpLFszLDQpfQorKDEgcm93 KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDAsOCkpKTsKKyBtdWx0aXJhbmdlX21pbnVz X211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QgbXVs dGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsNCkpLCBudW1tdWx0 aXJhbmdlKG51bXJhbmdlKDAsMikpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisge1syLDQpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5n ZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsOCkpLCBudW1tdWx0aXJhbmdl KG51bXJhbmdlKDAsMiksIG51bXJhbmdlKDMsNCkpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRp IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1syLDMpLFs0LDgpfQorKDEgcm93KQorCitT RUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsOCkp LCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsMyksIG51bXJhbmdlKDUsbnVsbCkpKTsKKyBtdWx0 aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpLFsz LDUpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJh bmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdl KC0yLDApKSk7CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIHtbMSwyKSxbNCw1KX0KKygxIHJvdykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNf bXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVs dGlyYW5nZShudW1yYW5nZSgyLDQpKSk7CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIHtbMSwyKSxbNCw1KX0KKygxIHJvdykKKworU0VMRUNUIG11 bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5n ZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgzLDUpKSk7CisgbXVsdGlyYW5nZV9taW51 c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHtbMSwyKX0KKygxIHJvdykKKwor U0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIp LCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgwLDkpKSk7CisgbXVsdGly YW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKDAgcm93cykKKwor U0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDMp LCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgyLDkpKSk7CisgbXVsdGly YW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHtbMSwyKX0KKygx IHJvdykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1y YW5nZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSg4LDkpKSk7 CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHtb MSwyKSxbNCw1KX0KKygxIHJvdykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVt bXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShu dW1yYW5nZSgtMiwwKSwgbnVtcmFuZ2UoOCw5KSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB7WzEsMiksWzQsNSl9CisoMSByb3cpCisKIC0t IGludGVyc2VjdGlvbgogU0VMRUNUIG51bW11bHRpcmFuZ2UoKSAqIG51bW11bHRpcmFuZ2UoKTsK ICA/Y29sdW1uPyAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmFuZ2V0 eXBlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JhbmdldHlwZXMub3V0CmluZGV4 IGNkZDk1Nzk5Y2Q1Li5lMDYyYTRlNWMyYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9yYW5nZXR5cGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jh bmdldHlwZXMub3V0CkBAIC00ODEsNiArNDgxLDYwIEBAIHNlbGVjdCByYW5nZV9taW51cyhudW1y YW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51bXJhbmdlKDAuMCwxMjAuMiwnKF0nKSk7CiAgZW1wdHkK ICgxIHJvdykKIAorc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKCdlbXB0eSc6Om51bXJhbmdlLCBu dW1yYW5nZSgyLjAsIDMuMCkpOworIHJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0t LS0tLQorKDAgcm93cykKKworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJhbmdlKDEuMSwg Mi4yKSwgJ2VtcHR5Jzo6bnVtcmFuZ2UpOworIHJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0t LS0tLS0tLS0tLQorIFsxLjEsMi4yKQorKDEgcm93KQorCitzZWxlY3QgcmFuZ2VfbWludXNfbXVs dGkobnVtcmFuZ2UoMS4xLCAyLjIpLCBudW1yYW5nZSgyLjAsIDMuMCkpOworIHJhbmdlX21pbnVz X211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIFsxLjEsMi4wKQorKDEgcm93KQorCitzZWxl Y3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4xLCAyLjIpLCBudW1yYW5nZSgyLjIsIDMu MCkpOworIHJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIFsxLjEsMi4y KQorKDEgcm93KQorCitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4xLCAyLjIs J1tdJyksIG51bXJhbmdlKDIuMCwgMy4wKSk7CisgcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0t LS0tLS0tLS0tLS0tCisgWzEuMSwyLjApCisoMSByb3cpCisKK3NlbGVjdCByYW5nZV9taW51c19t dWx0aShudW1yYW5nZSgxLjAsIDMuMCksIG51bXJhbmdlKDEuNSwgMi4wKSk7CisgcmFuZ2VfbWlu dXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEuMCwxLjUpCisgWzIuMCwzLjApCiso MiByb3dzKQorCitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMTAuMSwxMi4yLCdb XScpLCBudW1yYW5nZSgxMTAuMCwxMjAuMiwnKF0nKSk7CisgcmFuZ2VfbWludXNfbXVsdGkgCist LS0tLS0tLS0tLS0tLS0tLS0tCisgWzEwLjEsMTIuMl0KKygxIHJvdykKKworc2VsZWN0IHJhbmdl X21pbnVzX211bHRpKG51bXJhbmdlKDEwLjEsMTIuMiwnW10nKSwgbnVtcmFuZ2UoMC4wLDEyMC4y LCcoXScpKTsKKyByYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJv d3MpCisKK3NlbGVjdCByYW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxLjAsMy4wLCdbXScpLCBu dW1yYW5nZSgxLjUsMi4wLCcoXScpKTsKKyByYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0t LS0tLS0tLS0KKyBbMS4wLDEuNV0KKyAoMi4wLDMuMF0KKygyIHJvd3MpCisKIHNlbGVjdCBudW1y YW5nZSg0LjUsIDUuNSwgJ1tdJykgJiYgbnVtcmFuZ2UoNS41LCA2LjUpOwogID9jb2x1bW4/IAog LS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbXVsdGlyYW5nZXR5 cGVzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL211bHRpcmFuZ2V0eXBlcy5zcWwKaW5kZXgg NDFkNTUyNDI4NWEuLjExMjMzNGIwM2ViIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9tdWx0aXJhbmdldHlwZXMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL211bHRpcmFu Z2V0eXBlcy5zcWwKQEAgLTQxNCw2ICs0MTQsMjggQEAgU0VMRUNUIG51bW11bHRpcmFuZ2UobnVt cmFuZ2UoMSwzKSwgbnVtcmFuZ2UoNCw1KSkgLSBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsOSkK IFNFTEVDVCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkpIC0gbnVt bXVsdGlyYW5nZShudW1yYW5nZSg4LDkpKTsKIFNFTEVDVCBudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsMiksIG51bXJhbmdlKDQsNSkpIC0gbnVtbXVsdGlyYW5nZShudW1yYW5nZSgtMiwwKSwgbnVt cmFuZ2UoOCw5KSk7CiAKKy0tIG11bHRpcmFuZ2VfbWludXNfbXVsdGkKK1NFTEVDVCBtdWx0aXJh bmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UoKSwgbnVtbXVsdGlyYW5nZSgpKTsKK1NFTEVD VCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UoKSwgbnVtbXVsdGlyYW5nZShu dW1yYW5nZSgxLDIpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJh bmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKCkpOworU0VMRUNUIG11bHRpcmFuZ2Vf bWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5nZSgzLDQpKSwg bnVtbXVsdGlyYW5nZSgpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRp cmFuZ2UobnVtcmFuZ2UoMSwyKSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSkpOworU0VM RUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpKSwg bnVtbXVsdGlyYW5nZShudW1yYW5nZSgyLDQpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19t dWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdl KDMsNCkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVt cmFuZ2UoMSw0KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSkpOworU0VMRUNUIG11bHRp cmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDQpKSwgbnVtbXVsdGly YW5nZShudW1yYW5nZSgyLDMpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1t dWx0aXJhbmdlKG51bXJhbmdlKDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDAsOCkpKTsK K1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSw0 KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMCwyKSkpOworU0VMRUNUIG11bHRpcmFuZ2VfbWlu dXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDgpKSwgbnVtbXVsdGlyYW5nZShudW1y YW5nZSgwLDIpLCBudW1yYW5nZSgzLDQpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0 aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsOCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIs MyksIG51bXJhbmdlKDUsbnVsbCkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51 bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1KSksIG51bW11bHRpcmFuZ2Uo bnVtcmFuZ2UoLTIsMCkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRp cmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1KSksIG51bW11bHRpcmFuZ2UobnVtcmFu Z2UoMiw0KSkpOworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShu dW1yYW5nZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgzLDUp KSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsMiksIG51bXJhbmdlKDQsNSkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDAsOSkpKTsKK1NF TEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwzKSwg bnVtcmFuZ2UoNCw1KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMiw5KSkpOworU0VMRUNUIG11 bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5n ZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSg4LDkpKSk7CitTRUxFQ1QgbXVsdGlyYW5n ZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkp LCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKC0yLDApLCBudW1yYW5nZSg4LDkpKSk7CisKIC0tIGlu dGVyc2VjdGlvbgogU0VMRUNUIG51bW11bHRpcmFuZ2UoKSAqIG51bW11bHRpcmFuZ2UoKTsKIFNF TEVDVCBudW1tdWx0aXJhbmdlKCkgKiBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmFuZ2V0eXBlcy5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9yYW5nZXR5cGVzLnNxbAppbmRleCBhNWVjZGY1MzcyZi4uNWM0YjAzMzdiN2Eg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JhbmdldHlwZXMuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3JhbmdldHlwZXMuc3FsCkBAIC0xMDcsNiArMTA3LDE2IEBAIHNl bGVjdCBudW1yYW5nZSgxLjEsIDIuMiwnW10nKSAtIG51bXJhbmdlKDIuMCwgMy4wKTsKIHNlbGVj dCByYW5nZV9taW51cyhudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51bXJhbmdlKDExMC4wLDEy MC4yLCcoXScpKTsKIHNlbGVjdCByYW5nZV9taW51cyhudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyks IG51bXJhbmdlKDAuMCwxMjAuMiwnKF0nKSk7CiAKK3NlbGVjdCByYW5nZV9taW51c19tdWx0aSgn ZW1wdHknOjpudW1yYW5nZSwgbnVtcmFuZ2UoMi4wLCAzLjApKTsKK3NlbGVjdCByYW5nZV9taW51 c19tdWx0aShudW1yYW5nZSgxLjEsIDIuMiksICdlbXB0eSc6Om51bXJhbmdlKTsKK3NlbGVjdCBy YW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxLjEsIDIuMiksIG51bXJhbmdlKDIuMCwgMy4wKSk7 CitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4xLCAyLjIpLCBudW1yYW5nZSgy LjIsIDMuMCkpOworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJhbmdlKDEuMSwgMi4yLCdb XScpLCBudW1yYW5nZSgyLjAsIDMuMCkpOworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJh bmdlKDEuMCwgMy4wKSwgbnVtcmFuZ2UoMS41LCAyLjApKTsKK3NlbGVjdCByYW5nZV9taW51c19t dWx0aShudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51bXJhbmdlKDExMC4wLDEyMC4yLCcoXScp KTsKK3NlbGVjdCByYW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51 bXJhbmdlKDAuMCwxMjAuMiwnKF0nKSk7CitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFu Z2UoMS4wLDMuMCwnW10nKSwgbnVtcmFuZ2UoMS41LDIuMCwnKF0nKSk7CisKIHNlbGVjdCBudW1y YW5nZSg0LjUsIDUuNSwgJ1tdJykgJiYgbnVtcmFuZ2UoNS41LCA2LjUpOwogc2VsZWN0IG51bXJh bmdlKDEuMCwgMi4wKSA8PCBudW1yYW5nZSgzLjAsIDQuMCk7CiBzZWxlY3QgbnVtcmFuZ2UoMS4w LCAzLjAsJ1tdJykgPDwgbnVtcmFuZ2UoMy4wLCA0LjAsJ1tdJyk7Ci0tIAoyLjM5LjUKCg== --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0004-Document-temporal-update-delete.patch" Content-Disposition: attachment; filename="v57-0004-Document-temporal-update-delete.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnjy3 RnJvbSAxYjU5NDhkNTgyZjcxNjJjMmYzYmE3MTlmZDllYTQzMzM0YzA5NTU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjE6Mzg6NDAgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NyAwNC8xMV0gRG9jdW1lbnQgdGVtcG9yYWwgdXBkYXRlL2RlbGV0ZQoKVGhl IEZPUiBQT1JUSU9OIE9GIHN5bnRheCB3aWxsIGFsc28gYmUgZG9jdW1lbnRlZCBpbiB0aGUgcmVm ZXJlbmNlIHBhZ2VzCmZvciBVUERBVEUgYW5kIERFTEVURSwgYnV0IHRoaXMgY29tbWl0IGFkZHMg YSBjb25jZXB0dWFsIGRlc2NyaXB0aW9uIHRvCnRoZSBUZW1wb3JhbCBUYWJsZXMgY2hhcHRlciwg YXMgd2VsbCBhcyBhIGdsb3NzYXJ5IHRlcm0gZm9yICJ0ZW1wb3JhbApsZWZ0b3ZlcnMiLgoKQXV0 aG9yOiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0K IGRvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sICAgICAgICAgICAgICB8ICAxNSArKysKIGRvYy9z cmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUgICAgICAgICAgICB8ICAgNCArLQogZG9jL3NyYy9zZ21s L2ltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3ZnIHwgIDQxICsrKysrKysrCiBkb2Mvc3JjL3NnbWwv aW1hZ2VzL3RlbXBvcmFsLWRlbGV0ZS50eHQgfCAgMTIgKysrCiBkb2Mvc3JjL3NnbWwvaW1hZ2Vz L3RlbXBvcmFsLXVwZGF0ZS5zdmcgfCAgNDUgKysrKysrKysrCiBkb2Mvc3JjL3NnbWwvaW1hZ2Vz L3RlbXBvcmFsLXVwZGF0ZS50eHQgfCAgMTIgKysrCiBkb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dt bCAgICAgICAgICAgICAgfCAxMjMgKysrKysrKysrKysrKysrKysrKysrKystCiA3IGZpbGVzIGNo YW5nZWQsIDI0OSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAw NjQ0IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVsZXRlLnN2ZwogY3JlYXRlIG1vZGUg MTAwNjQ0IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVsZXRlLnR4dAogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnN2ZwogY3JlYXRl IG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnR4dAoKZGlm ZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sIGIvZG9jL3NyYy9zZ21sL2dsb3Nz YXJ5LnNnbWwKaW5kZXggZjRkNTc4M2QxZDUuLmUwMDllZGU1OTQzIDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbApA QCAtMTkxNiw2ICsxOTE2LDIxIEBACiAgICA8L2dsb3NzZGVmPgogICA8L2dsb3NzZW50cnk+CiAK KyAgPGdsb3NzZW50cnkgaWQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVycyI+CisgICA8Z2xv c3N0ZXJtPlRlbXBvcmFsIGxlZnRvdmVyczwvZ2xvc3N0ZXJtPgorICAgPGdsb3NzZGVmPgorICAg IDxwYXJhPgorICAgICBBZnRlciBhIHRlbXBvcmFsIHVwZGF0ZSBvciBkZWxldGUsIHRoZSBwb3J0 aW9uIG9mIGhpc3RvcnkgdGhhdCB3YXMgbm90CisgICAgIHVwZGF0ZWQvZGVsZXRlZC4gV2hlbiB1 c2luZyByYW5nZXMgdG8gdHJhY2sgYXBwbGljYXRpb24gdGltZSwgdGhlcmUgbWF5IGJlCisgICAg IHplcm8sIG9uZSwgb3IgdHdvIHN0cmV0Y2hlcyBvZiBoaXN0b3J5IHRoYXQgd2hlcmUgbm90IHVw ZGF0ZWQvZGVsZXRlZAorICAgICAoYmVmb3JlIGFuZC9vciBhZnRlciB0aGUgcG9ydGlvbiB0aGF0 IHdhcyB1cGRhdGVkL2RlbGV0ZWQpLiBOZXcgcm93cyBhcmUKKyAgICAgYXV0b21hdGljYWxseSBp bnNlcnRlZCBpbnRvIHRoZSB0YWJsZSB0byBwcmVzZXJ2ZSB0aGF0IGhpc3RvcnkuIEEgc2luZ2xl CisgICAgIG11bHRpcmFuZ2UgY2FuIGFjY29tbW9kYXRlIHRoZSB1bnRvdWNoZWQgaGlzdG9yeSBi ZWZvcmUgYW5kIGFmdGVyIHRoZQorICAgICB1cGRhdGUvZGVsZXRlLCBzbyB0aGVyZSB3aWxsIGJl IG9ubHkgemVybyBvciBvbmUgbGVmdG92ZXIuCisgICAgPC9wYXJhPgorICAgPC9nbG9zc2RlZj4K KyAgPC9nbG9zc2VudHJ5PgorCiAgIDxnbG9zc2VudHJ5IGlkPSJnbG9zc2FyeS10ZW1wb3JhbC10 YWJsZSI+CiAgICA8Z2xvc3N0ZXJtPlRlbXBvcmFsIHRhYmxlPC9nbG9zc3Rlcm0+CiAgICA8Z2xv c3NkZWY+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL01ha2VmaWxlIGIvZG9jL3Ny Yy9zZ21sL2ltYWdlcy9NYWtlZmlsZQppbmRleCBmZDU1YjlhZDIzZi4uMzhmODg2OWQ3OGQgMTAw NjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKKysrIGIvZG9jL3NyYy9zZ21s L2ltYWdlcy9NYWtlZmlsZQpAQCAtNyw3ICs3LDkgQEAgQUxMX0lNQUdFUyA9IFwKIAlnaW4uc3Zn IFwKIAlwYWdlbGF5b3V0LnN2ZyBcCiAJdGVtcG9yYWwtZW50aXRpZXMuc3ZnIFwKLQl0ZW1wb3Jh bC1yZWZlcmVuY2VzLnN2ZworCXRlbXBvcmFsLXJlZmVyZW5jZXMuc3ZnIFwKKwl0ZW1wb3JhbC11 cGRhdGUuc3ZnIFwKKwl0ZW1wb3JhbC1kZWxldGUuc3ZnCiAKIERJVEFBID0gZGl0YWEKIERPVCA9 IGRvdApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3Zn IGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3ZnCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zNjY1NzUwZDdkNgotLS0gL2Rldi9udWxsCisrKyBi L2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVsZXRlLnN2ZwpAQCAtMCwwICsxLDQxIEBA Cis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw MDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTMzMCAyMjQiIHdpZHRoPSIxMzMwIiBoZWlnaHQ9IjIyNCIg c2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHZlcnNpb249IjEuMCI+CisgIDxk ZWZzPgorICAgIDxmaWx0ZXIgaWQ9ImYyIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAwJSIgaGVpZ2h0 PSIyMDAlIj4KKyAgICAgIDxmZU9mZnNldCByZXN1bHQ9Im9mZk91dCIgaW49IlNvdXJjZUdyYXBo aWMiIGR4PSI1IiBkeT0iNSIvPgorICAgICAgPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ck91 dCIgaW49Im9mZk91dCIgc3RkRGV2aWF0aW9uPSIzIi8+CisgICAgICA8ZmVCbGVuZCBpbj0iU291 cmNlR3JhcGhpYyIgaW4yPSJibHVyT3V0IiBtb2RlPSJub3JtYWwiLz4KKyAgICA8L2ZpbHRlcj4K KyAgPC9kZWZzPgorICA8ZyBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUi IHN0cm9rZS1saW5lam9pbj0icm91bmQiPgorICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIx MzMwIiBoZWlnaHQ9IjIyNCIgc3R5bGU9ImZpbGw6ICNmZmZmZmYiLz4KKyAgICA8cGF0aCBzdHJv a2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3Vu ZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0iIzk5ZGQ5OSIgZD0iTTY4NS4wIDYzLjAg TDY4NS4wIDE0Ny4wIEwxMDA1LjAgMTQ3LjAgTDEwMDUuMCA2My4wIHoiLz4KKyAgICA8cGF0aCBz dHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJy b3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0iIzk5ZGQ5OSIgZD0iTTMxNS4wIDYz LjAgTDMxNS4wIDE0Ny4wIEwyNS4wIDE0Ny4wIEwyNS4wIDYzLjAgeiIvPgorICAgIDxwYXRoIHN0 cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJv dW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJNMTAwNS4wIDYz LjAgTDEwMDUuMCAxNDcuMCBMMTI3NS4wIDE0Ny4wIEwxMjc1LjAgNjMuMCB6Ii8+CisgICAgPHBh dGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNh cD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0yMDUuMCAx NjguMCBMMjA1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut d2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0i cm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0yNS4wIDE2OC4wIEwyNS4wIDE4MS4wICIvPgorICAgIDxw YXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVj YXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNMzg1LjAg MTY4LjAgTDM4NS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tl LXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49 InJvdW5kIiBmaWxsPSJub25lIiBkPSJNNTY1LjAgMTY4LjAgTDU2NS4wIDE4MS4wICIvPgorICAg IDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxp bmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNNzQ1 LjAgMTY4LjAgTDc0NS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ry b2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpv aW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNOTI1LjAgMTY4LjAgTDkyNS4wIDE4MS4wICIvPgor ICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tl LWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJN MTEwNS4wIDE2OC4wIEwxMTA1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAw IiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1s aW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0xMjg1LjAgMTY4LjAgTDEyODUuMCAxODEu MCAiLz4KKyAgICA8dGV4dCB4PSI0NiIgeT0iOTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0Pgor ICAgIDx0ZXh0IHg9IjQwIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9 IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig1LCAkNSw8L3RleHQ+CisgICAgPHRl eHQgeD0iODMiIHk9IjEyNCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0 cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+WzEgSmFuIDIwMjAsMSBBdWcgMjAyMSkpPC90ZXh0 PgorICAgIDx0ZXh0IHg9IjIwIiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNp emU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjA8L3RleHQ+CisgICAgPHRl eHQgeD0iMjAwIiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBz dHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjE8L3RleHQ+CisgICAgPHRleHQgeD0iMzgw IiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5v bmUiIGZpbGw9IiMwMDAwMDAiPjIwMjI8L3RleHQ+CisgICAgPHRleHQgeD0iNTYwIiB5PSIxOTQi IGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9 IiMwMDAwMDAiPjIwMjM8L3RleHQ+CisgICAgPHRleHQgeD0iNzEyIiB5PSI5NiIgZm9udC1mYW1p bHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+ cHJvZHVjdHM8L3RleHQ+CisgICAgPHRleHQgeD0iNzIyIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJD b3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig1LCAk MTIsPC90ZXh0PgorICAgIDx0ZXh0IHg9Ijc0MyIgeT0iMTI0IiBmb250LWZhbWlseT0iQ291cmll ciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5bMSBTZXAgMjAy MywxIE1hciAyMDI1KSk8L3RleHQ+CisgICAgPHRleHQgeD0iNzQwIiB5PSIxOTQiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi PjIwMjQ8L3RleHQ+CisgICAgPHRleHQgeD0iOTIwIiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3Vy aWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjU8L3Rl eHQ+CisgICAgPHRleHQgeD0iMTAyNiIgeT0iOTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0Pgor ICAgIDx0ZXh0IHg9IjEwMjAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6 ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsICQ4LDwvdGV4dD4KKyAgICA8 dGV4dCB4PSIxMDU2IiB5PSIxMjQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1 IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPlsxIE1hciAyMDI1LCkpPC90ZXh0PgorICAg IDx0ZXh0IHg9IjExMDAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0i MTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNjwvdGV4dD4KKyAgICA8dGV4dCB4 PSIxMjg5IiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJv a2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPi4uLjwvdGV4dD4KKyAgPC9nPgorPC9zdmc+CmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWRlbGV0ZS50eHQgYi9kb2Mvc3Jj L3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWRlbGV0ZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjg0YjYxMGY4ZjU4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3NyYy9z Z21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUudHh0CkBAIC0wLDAgKzEsMTIgQEAKKworCisrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsKK3wgY0dSRSAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgY0dSRSAgICAgICAgICAgICAgICAgICAgICAgICAgfCBjR1JF ICAgICAgICAgICAgICAgICAgICAgfAorfCBwcm9kdWN0cyAgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwcm9kdWN0cyAgICAgICAgICAgICAg ICAgICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAgICB8Cit8ICg1LCAkNSwgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICg1LCAkMTIs ICAgICAgICAgICAgICAgICAgICAgIHwgKDUsICQ4LCAgICAgICAgICAgICAgICAgIHwKK3wgICBb MSBKYW4gMjAyMCwxIEF1ZyAyMDIxKSkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICBbMSBTZXAgMjAyMywxIE1hciAyMDI1KSkgICAgfCAgIFsxIE1hciAyMDI1LCkpICAg ICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworfCAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAorMjAy MCAgICAgICAgICAgICAgMjAyMSAgICAgICAgICAgICAgMjAyMiAgICAgICAgICAgICAgMjAyMyAg ICAgICAgICAgICAgMjAyNCAgICAgICAgICAgICAgMjAyNSAgICAgICAgICAgICAgMjAyNiAgICAg ICAgICAgICAgLi4uCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXVw ZGF0ZS5zdmcgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXVwZGF0ZS5zdmcKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRmMTM3NTU4MjcyCi0tLSAvZGV2L251 bGwKKysrIGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRhdGUuc3ZnCkBAIC0wLDAg KzEsNDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53 My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMzMwIDIyNCIgd2lkdGg9IjEzMzAiIGhlaWdo dD0iMjI0IiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdmVyc2lvbj0iMS4w Ij4KKyAgPGRlZnM+CisgICAgPGZpbHRlciBpZD0iZjIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyMDAl IiBoZWlnaHQ9IjIwMCUiPgorICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0iU291 cmNlR3JhcGhpYyIgZHg9IjUiIGR5PSI1Ii8+CisgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVzdWx0 PSJibHVyT3V0IiBpbj0ib2ZmT3V0IiBzdGREZXZpYXRpb249IjMiLz4KKyAgICAgIDxmZUJsZW5k IGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCIvPgorICAgIDwv ZmlsdGVyPgorICA8L2RlZnM+CisgIDxnIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVjYXA9 InNxdWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CisgICAgPHJlY3QgeD0iMCIgeT0iMCIg d2lkdGg9IjEzMzAiIGhlaWdodD0iMjI0IiBzdHlsZT0iZmlsbDogI2ZmZmZmZiIvPgorICAgIDxw YXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVj YXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJNMzg1 LjAgNjMuMCBMMzg1LjAgMTQ3LjAgTDI1LjAgMTQ3LjAgTDI1LjAgNjMuMCB6Ii8+CisgICAgPHBh dGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNh cD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9Ik0xMjg1 LjAgNjMuMCBMMTI4NS4wIDE0Ny4wIEw5NzUuMCAxNDcuMCBMOTc1LjAgNjMuMCB6Ii8+CisgICAg PHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGlu ZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9Ik0z ODUuMCAxNDcuMCBMNjg1LjAgMTQ3LjAgTDY4NS4wIDYzLjAgTDM4NS4wIDYzLjAgeiIvPgorICAg IDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxp bmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJN Njg1LjAgNjMuMCBMNjg1LjAgMTQ3LjAgTDk3NS4wIDE0Ny4wIEw5NzUuMCA2My4wIHoiLz4KKyAg ICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1s aW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTIw NS4wIDE2OC4wIEwyMDUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0 cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVq b2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTI1LjAgMTY4LjAgTDI1LjAgMTgxLjAgIi8+Cisg ICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2Ut bGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0z ODUuMCAxNjguMCBMMzg1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBz dHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5l am9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik01NjUuMCAxNjguMCBMNTY1LjAgMTgxLjAgIi8+ CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJv a2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9 Ik03NDUuMCAxNjguMCBMNzQ1LjAgMTgxLjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAw IiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1s aW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik05MjUuMCAxNjguMCBMOTI1LjAgMTgxLjAg Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBz dHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUi IGQ9Ik0xMTA1LjAgMTY4LjAgTDExMDUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMw MDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ry b2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTEyODUuMCAxNjguMCBMMTI4NS4w IDE4MS4wICIvPgorICAgIDx0ZXh0IHg9IjQ2IiB5PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIi IGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3Rl eHQ+CisgICAgPHRleHQgeD0iNDAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQt c2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsICQ1LDwvdGV4dD4KKyAg ICA8dGV4dCB4PSI4NiIgeT0iMTI0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIx NSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5bMSBKYW4gMjAyMCwxIEphbiAyMDIyKSk8 L3RleHQ+CisgICAgPHRleHQgeD0iMjAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZv bnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyMDwvdGV4dD4KKyAg ICA8dGV4dCB4PSIyMDAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0i MTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyMTwvdGV4dD4KKyAgICA8dGV4dCB4 PSI0MDYiIHk9Ijk2IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tl PSJub25lIiBmaWxsPSIjMDAwMDAwIj5wcm9kdWN0czwvdGV4dD4KKyAgICA8dGV4dCB4PSI0MDAi IHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9u ZSIgZmlsbD0iIzAwMDAwMCI+KDUsICQ4LDwvdGV4dD4KKyAgICA8dGV4dCB4PSI0NDUiIHk9IjEy NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmls bD0iIzAwMDAwMCI+WzEgSmFuIDIwMjIsMSBTZXAgMjAyMykpPC90ZXh0PgorICAgIDx0ZXh0IHg9 IjM4MCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tl PSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIyPC90ZXh0PgorICAgIDx0ZXh0IHg9IjU2MCIgeT0i MTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBm aWxsPSIjMDAwMDAwIj4yMDIzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjcxMiIgeT0iOTYiIGZvbnQt ZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAw MDAiPnByb2R1Y3RzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjcyMiIgeT0iMTEwIiBmb250LWZhbWls eT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4o NSwgJDEyLDwvdGV4dD4KKyAgICA8dGV4dCB4PSI3NDMiIHk9IjEyNCIgZm9udC1mYW1pbHk9IkNv dXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+WzEgU2Vw IDIwMjMsMSBNYXIgMjAyNSkpPC90ZXh0PgorICAgIDx0ZXh0IHg9Ijc0MCIgeT0iMTk0IiBmb250 LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAw MDAwIj4yMDI0PC90ZXh0PgorICAgIDx0ZXh0IHg9IjkyMCIgeT0iMTk0IiBmb250LWZhbWlseT0i Q291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDI1 PC90ZXh0PgorICAgIDx0ZXh0IHg9Ijk5NiIgeT0iOTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBm b250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0 PgorICAgIDx0ZXh0IHg9Ijk5MCIgeT0iMTEwIiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1z aXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4oNSwgJDgsPC90ZXh0PgorICAg IDx0ZXh0IHg9IjEwMjYiIHk9IjEyNCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0i MTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+WzEgTWFyIDIwMjUsKSk8L3RleHQ+Cisg ICAgPHRleHQgeD0iMTEwMCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXpl PSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDI2PC90ZXh0PgorICAgIDx0ZXh0 IHg9IjEyODkiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0 cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+Li4uPC90ZXh0PgorICA8L2c+Cis8L3N2Zz4KZGlm ZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnR4dCBiL2RvYy9z cmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uNzBjMzFiNWUwNTAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3Jj L3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXVwZGF0ZS50eHQKQEAgLTAsMCArMSwxMiBAQAorCisKKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKK3wgY0dSRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgY0dSRSAg ICAgICAgICAgICAgICAgICAgICAgIHwgY0dSRSAgICAgICAgICAgICAgICAgICAgICAgfCBjR1JF ICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgcHJvZHVjdHMgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgcHJvZHVjdHMgICAgICAgICAgICAgICAgICAgIHwgcHJvZHVjdHMgICAgICAgICAg ICAgICAgICAgfCBwcm9kdWN0cyAgICAgICAgICAgICAgICAgICAgIHwKK3wgKDUsICQ1LCAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgKDUsICQ4LCAgICAgICAgICAgICAgICAgICAgIHwgKDUs ICQxMiwgICAgICAgICAgICAgICAgICAgfCAoNSwgJDgsICAgICAgICAgICAgICAgICAgICAgIHwK K3wgICBbMSBKYW4gMjAyMCwxIEphbiAyMDIyKSkgICAgICAgIHwgICBbMSBKYW4gMjAyMiwxIFNl cCAyMDIzKSkgIHwgICBbMSBTZXAgMjAyMywxIE1hciAyMDI1KSkgfCAgIFsxIE1hciAyMDI1LCkp ICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworfCAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgfAorMjAyMCAgICAgICAgICAgICAgMjAyMSAgICAgICAgICAgICAgMjAyMiAgICAgICAgICAg ICAgMjAyMyAgICAgICAgICAgICAgMjAyNCAgICAgICAgICAgICAgMjAyNSAgICAgICAgICAgICAg MjAyNiAgICAgICAgICAgICAgLi4uCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwu c2dtbCBiL2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCmluZGV4IGY1NGIwYTZiMjg0Li5lZjI3 MDFlODY3MCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwKKysrIGIvZG9j L3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwKQEAgLTI2Miw4ICsyNjIsMTI3IEBAIEFMVEVSIFRBQkxF IHZhcmlhbnRzCiAgICA8dGl0bGU+VGVtcG9yYWwgVXBkYXRlIGFuZCBEZWxldGU8L3RpdGxlPgog CiAgICA8cGFyYT4KLSAgICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IGRv ZXMgbm90IHlldCBzdXBwb3J0IHNwZWNpYWwKLSAgICBzeW50YXggdG8gdXBkYXRlIGFuZCBkZWxl dGUgcG9ydGlvbnMgb2YgaGlzdG9yeSBpbiB0ZW1wb3JhbCB0YWJsZXMuCisgICAgU3BlY2lhbCBz eW50YXggaXMgYXZhaWxhYmxlIHRvIHVwZGF0ZSBhbmQgZGVsZXRlIGZyb20gdGVtcG9yYWwKKyAg ICB0YWJsZXMuIChObyBleHRyYSBzeW50YXggaXMgcmVxdWlyZWQgdG8gaW5zZXJ0IGludG8gdGhl bTogdGhlIHVzZXIganVzdAorICAgIHByb3ZpZGVzIHRoZSBhcHBsaWNhdGlvbiB0aW1lIGxpa2Ug YW55IG90aGVyIGF0dHJpYnV0ZS4pIFdoZW4gdXBkYXRpbmcKKyAgICBvciBkZWxldGluZywgdGhl IHVzZXIgY2FuIHRhcmdldCBhIHNwZWNpZmljIHBvcnRpb24gb2YgaGlzdG9yeS4gT25seQorICAg IHJvd3Mgb3ZlcmxhcHBpbmcgdGhhdCBoaXN0b3J5IGFyZSBhZmZlY3RlZCwgYW5kIHdpdGhpbiB0 aG9zZSByb3dzIG9ubHkKKyAgICB0aGUgdGFyZ2V0ZWQgaGlzdG9yeSBpcyBjaGFuZ2VkLiBJZiBh IHJvdyBjb250YWlucyBtb3JlIGhpc3RvcnkgYmV5b25kCisgICAgd2hhdCBpcyB0YXJnZXRlZCwg aXRzIGFwcGxpY2F0aW9uIHRpbWUgaXMgcmVkdWNlZCB0byBmaXQgd2l0aGluIHRoZQorICAgIHRh cmdldGVkIGludGVydmFsLCBhbmQgbmV3IHJvd3MgYXJlIGluc2VydGVkIHRvIHByZXNlcnZlIHRo ZSBoaXN0b3J5CisgICAgdGhhdCB3YXMgbm90IHRhcmdldGVkLgorICAgPC9wYXJhPgorCisgICA8 cGFyYT4KKyAgICBUaGUgc3ludGF4IGZvciBhIHRlbXBvcmFsIHVwZGF0ZSBpczoKKworPHByb2dy YW1saXN0aW5nPgorVVBEQVRFIHByb2R1Y3RzCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMjMtMDktMDEnIFRPICcyMDI1LTAzLTAxJworICBBUyBwCisgIFNFVCBwcmljZSA9IDEy CisgIFdIRVJFIGlkID0gNTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAgICBVc2luZyB0aGUgZXhh bXBsZSB0YWJsZSBpbnRyb2R1Y2VkIGFscmVhZHksIHRoaXMgY29tbWFuZCB3aWxsCisgICAgdXBk YXRlIHRoZSBzZWNvbmQgcmVjb3JkIGZvciBwcm9kdWN0IDUuIEl0IHdpbGwgc2V0IHRoZSBwcmlj ZSB0byAxMiBhbmQKKyAgICB0aGUgYXBwbGljYXRpb24gdGltZSB0byA8bGl0ZXJhbD5bMjAyMy0w OS0wMSwyMDI1LTAzLTAxKTwvbGl0ZXJhbD4uCisgICAgVGhlbiwgc2luY2UgdGhlIHJvdydzIGFw cGxpY2F0aW9uIHRpbWUgd2FzIG9yaWdpbmFsbHkKKyAgICA8bGl0ZXJhbD5bMjAyMi0wMS0wMSwp PC9saXRlcmFsPiwgdGhlIGNvbW1hbmQgbXVzdCBpbnNlcnQgdHdvCisgICAgPGdsb3NzdGVybSBs aW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMiPnRlbXBvcmFsCisgICAgbGVmdG92 ZXJzPC9nbG9zc3Rlcm0+OiBvbmUgZm9yIGhpc3RvcnkgYmVmb3JlIFNlcHRlbWJlciAxLCAyMDIz LCBhbmQKKyAgICBhbm90aGVyIGZvciBoaXN0b3J5IHNpbmNlIE1hcmNoIDEsIDIwMjUuIEFmdGVy IHRoZSB1cGRhdGUsIHRoZSB0YWJsZQorICAgIGhhcyB0aHJlZSByb3dzIGZvciBwcm9kdWN0IDU6 CisKKzxwcm9ncmFtbGlzdGluZz4KKyBpZCB8IHByaWNlIHwgICAgICAgIHZhbGlkX2F0CistLS0t Ky0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICA1IHwgICAgIDUgfCBbMjAyMC0w MS0wMSwyMDIyLTAxLTAxKQorICA1IHwgICAgIDggfCBbMjAyMi0wMS0wMSwyMDIzLTA5LTAxKQor ICA1IHwgICAgMTIgfCBbMjAyMy0wOS0wMSwyMDI1LTAzLTAxKQorICA1IHwgICAgIDggfCBbMjAy NS0wMy0wMSwpCis8L3Byb2dyYW1saXN0aW5nPgorCisgICAgVGhlIG5ldyBoaXN0b3J5IGNvdWxk IGJlIHBsb3R0ZWQgYXMgaW4gPHhyZWYgbGlua2VuZD0idGVtcG9yYWwtdXBkYXRlLWZpZ3VyZSIv Pi4KKyAgIDwvcGFyYT4KKworICAgPGZpZ3VyZSBpZD0idGVtcG9yYWwtdXBkYXRlLWZpZ3VyZSI+ CisgICAgPHRpdGxlPlRlbXBvcmFsIFVwZGF0ZSBFeGFtcGxlPC90aXRsZT4KKyAgICA8bWVkaWFv YmplY3Q+CisgICAgIDxpbWFnZW9iamVjdD4KKyAgICAgIDxpbWFnZWRhdGEgZmlsZXJlZj0iaW1h Z2VzL3RlbXBvcmFsLXVwZGF0ZS5zdmciIGZvcm1hdD0iU1ZHIiB3aWR0aD0iMTAwJSIvPgorICAg ICA8L2ltYWdlb2JqZWN0PgorICAgIDwvbWVkaWFvYmplY3Q+CisgICA8L2ZpZ3VyZT4KKworICAg PHBhcmE+CisgICAgU2ltaWxhcmx5LCBhIHNwZWNpZmljIHBvcnRpb24gb2YgaGlzdG9yeSBtYXkg YmUgdGFyZ2V0ZWQgd2hlbgorICAgIGRlbGV0aW5nIHJvd3MgZnJvbSBhIHRhYmxlLiBJbiB0aGF0 IGNhc2UsIHRoZSBvcmlnaW5hbCByb3dzIGFyZQorICAgIHJlbW92ZWQsIGJ1dCBuZXcKKyAgICA8 Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVycyI+dGVtcG9yYWwg bGVmdG92ZXJzPC9nbG9zc3Rlcm0+CisgICAgYXJlIGluc2VydGVkIHRvIHByZXNlcnZlIHRoZSB1 bnRvdWNoZWQgaGlzdG9yeS4gVGhlIHN5bnRheCBmb3IgYQorICAgIHRlbXBvcmFsIGRlbGV0ZSBp czoKKworPHByb2dyYW1saXN0aW5nPgorREVMRVRFIEZST00gcHJvZHVjdHMKKyAgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAyMS0wOC0wMScgVE8gJzIwMjMtMDktMDEnCisgIEFTIHAK K1dIRVJFIGlkID0gNTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAgICBDb250aW51aW5nIHRoZSBl eGFtcGxlLCB0aGlzIGNvbW1hbmQgd291bGQgZGVsZXRlIHR3byByZWNvcmRzLiBUaGUKKyAgICBm aXJzdCByZWNvcmQgd291bGQgeWllbGQgYSBzaW5nbGUgdGVtcG9yYWwgbGVmdG92ZXIsIGFuZCB0 aGUgc2Vjb25kCisgICAgd291bGQgYmUgZGVsZXRlZCBlbnRpcmVseS4gVGhlIHJvd3MgZm9yIHBy b2R1Y3QgNSB3b3VsZCBub3cgYmU6CisKKzxwcm9ncmFtbGlzdGluZz4KKyBpZCB8IHByaWNlIHwg ICAgICAgIHZhbGlkX2F0CistLS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ICA1IHwgICAgIDUgfCBbMjAyMC0wMS0wMSwyMDIxLTA4LTAxKQorICA1IHwgICAgMTIgfCBbMjAy My0wOS0wMSwyMDI1LTAzLTAxKQorICA1IHwgICAgIDggfCBbMjAyNS0wMy0wMSwpCis8L3Byb2dy YW1saXN0aW5nPgorCisgICAgVGhlIG5ldyBoaXN0b3J5IGNvdWxkIGJlIHBsb3R0ZWQgYXMgaW4g PHhyZWYgbGlua2VuZD0idGVtcG9yYWwtZGVsZXRlLWZpZ3VyZSIvPi4KKyAgIDwvcGFyYT4KKwor ICAgPGZpZ3VyZSBpZD0idGVtcG9yYWwtZGVsZXRlLWZpZ3VyZSI+CisgICAgPHRpdGxlPlRlbXBv cmFsIERlbGV0ZSBFeGFtcGxlPC90aXRsZT4KKyAgICA8bWVkaWFvYmplY3Q+CisgICAgIDxpbWFn ZW9iamVjdD4KKyAgICAgIDxpbWFnZWRhdGEgZmlsZXJlZj0iaW1hZ2VzL3RlbXBvcmFsLWRlbGV0 ZS5zdmciIGZvcm1hdD0iU1ZHIiB3aWR0aD0iMTAwJSIvPgorICAgICA8L2ltYWdlb2JqZWN0Pgor ICAgIDwvbWVkaWFvYmplY3Q+CisgICA8L2ZpZ3VyZT4KKworICAgPHBhcmE+CisgICAgSW5zdGVh ZCBvZiB1c2luZyB0aGUgPGxpdGVyYWw+RlJPTSAuLi4gVE8gLi4uPC9saXRlcmFsPiBzeW50YXgs CisgICAgdGVtcG9yYWwgdXBkYXRlL2RlbGV0ZSBjb21tYW5kcyBjYW4gYWxzbyBnaXZlIHRoZSB0 YXJnZXRlZAorICAgIHJhbmdlL211bHRpcmFuZ2UgZGlyZWN0bHksIGluc2lkZSBwYXJlbnRoZXNl cy4gRm9yIGV4YW1wbGU6CisgICAgPGxpdGVyYWw+REVMRVRFIEZST00gcHJvZHVjdHMgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgKCdbMjAyOC0wMS0wMSwpJykgLi4uPC9saXRlcmFsPi4KKyAgICBU aGlzIHN5bnRheCBpcyByZXF1aXJlZCB3aGVuIGFwcGxpY2F0aW9uIHRpbWUgaXMgc3RvcmVkCisg ICAgaW4gYSBtdWx0aXJhbmdlIGNvbHVtbi4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAg V2hlbiBhcHBsaWNhdGlvbiB0aW1lIGlzIHN0b3JlZCBpbiBhIHJhbmdldHlwZSBjb2x1bW4sIHpl cm8sIG9uZSBvcgorICAgIHR3byB0ZW1wb3JhbCBsZWZ0b3ZlcnMgYXJlIHByb2R1Y2VkIGJ5IGVh Y2ggcm93IHRoYXQgaXMKKyAgICB1cGRhdGVkL2RlbGV0ZWQuIFdpdGggYSBtdWx0aXJhbmdlIGNv bHVtbiwgb25seSB6ZXJvIG9yIG9uZSB0ZW1wb3JhbAorICAgIGxlZnRvdmVyIGlzIHByb2R1Y2Vk LiBUaGUgbGVmdG92ZXIgYm91bmRzIGFyZSBjb21wdXRlZCB1c2luZworICAgIDxsaXRlcmFsPnJh bmdlX21pbnVzX211bHRpPC9saXRlcmFsPiBhbmQKKyAgICA8bGl0ZXJhbD5tdWx0aXJhbmdlX21p bnVzX211bHRpPC9saXRlcmFsPgorICAgIChzZWUgPHhyZWYgbGlua2VuZD0iZnVuY3Rpb25zLXJh bmdlIi8+KS4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgVGhlIGJvdW5kcyBnaXZlbiB0 byA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gbXVzdCBiZQorICAgIGNvbnN0YW50 LiBGdW5jdGlvbnMgbGlrZSA8bGl0ZXJhbD5OT1coKTwvbGl0ZXJhbD4gYXJlIGFsbG93ZWQsIGJ1 dAorICAgIGNvbHVtbiByZWZlcmVuY2VzIGFyZSBub3QuCisgICA8L3BhcmE+CisKKyAgIDxwYXJh PgorICAgIFdoZW4gdGVtcG9yYWwgbGVmdG92ZXJzIGFyZSBpbnNlcnRlZCwgYWxsIDxsaXRlcmFs PklOU0VSVDwvbGl0ZXJhbD4KKyAgICB0cmlnZ2VycyBhcmUgZmlyZWQsIGJ1dCBwZXJtaXNzaW9u IGNoZWNrcyBmb3IgaW5zZXJ0aW5nIHJvd3MgYXJlCisgICAgc2tpcHBlZC4KICAgIDwvcGFyYT4K ICAgPC9zZWN0Mj4KICAgPC9zZWN0MT4KLS0gCjIuMzkuNQoK --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0001-Add-docs-chapter-for-temporal-tables.patch" Content-Disposition: attachment; filename="v57-0001-Add-docs-chapter-for-temporal-tables.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnjl0 RnJvbSA3ZThmZjYwZjJmMDRlY2QzZDI4YmZmMDJjMGU0YzI1YjRhZDg0ZjcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMTc6MTI6MTAgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NyAwMS8xMV0gQWRkIGRvY3MgY2hhcHRlciBmb3IgdGVtcG9yYWwgdGFibGVz CgpUaGlzIGNvbW1pdCB0cmllcyB0byBvdXRsaW5lIHRoZSBjb21wbGV0ZSBmdW5jdGlvbmFsaXR5 IGRlc2NyaWJlZCBieSB0aGUKU1FMOjIwMTEgc3RhbmRhcmQsIHdoaWNoIHdlIGhvcGUgdG8gYWNo aWV2ZS4gU28gaXQgaW5jbHVkZXMgc2VjdGlvbnMgZm9yCkFwcGxpY2F0aW9uIFRpbWUgYW5kIFN5 c3RlbSBUaW1lLCBidXQgaXQgbm90ZXMgdGhhdCBTeXN0ZW0gVGltZSBpcyBub3QKeWV0IGltcGxl bWVudGVkLiBMaWtld2lzZSBpdCBjb3ZlcnMgdGVtcG9yYWwgcHJpbWFyeSBrZXlzIGFuZCB1bmlx dWUKY29uc3RyYWludHMgaW4gZGV0YWlsLCBidXQgaXQgb25seSBub3RlcyB0aGF0IHRlbXBvcmFs IHVwZGF0ZS9kZWxldGUgYXJlCm5vdCB5ZXQgc3VwcG9ydGVkLgoKVGVtcG9yYWwgZm9yZWlnbiBr ZXlzIGFuZCBwZXJpb2RzIGFyZSBkb2N1bWVudGVkIGluIHRoZSBuZXh0IGNvbW1pdHMuCgpUaGlz IGNvbW1pdCBhbHNvIGFkZHMgZ2xvc3NhcnkgZW50cmllcyBmb3IgdGVtcG9yYWwgdGFibGUsIGFw cGxpY2F0aW9uCnRpbWUsIGFuZCBzeXN0ZW0gdGltZS4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2ly dGggPHBqQGlsbHVtaW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBkb2Mvc3JjL3NnbWwvZmlsZWxp c3Quc2dtbCAgICAgICAgICAgICAgICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dt bCAgICAgICAgICAgICAgICB8ICA0NyArKysrKwogZG9jL3NyYy9zZ21sL2ltYWdlcy9NYWtlZmls ZSAgICAgICAgICAgICAgfCAgIDMgKy0KIGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZW50 aXRpZXMuc3ZnIHwgIDM0ICsrKysKIGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZW50aXRp ZXMudHh0IHwgIDE2ICsrCiBkb2Mvc3JjL3NnbWwvcG9zdGdyZXMuc2dtbCAgICAgICAgICAgICAg ICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbCAgICAgICAgICAgICAgICB8IDIx MyArKysrKysrKysrKysrKysrKysrKysrCiA3IGZpbGVzIGNoYW5nZWQsIDMxNCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL2ltYWdl cy90ZW1wb3JhbC1lbnRpdGllcy5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwv aW1hZ2VzL3RlbXBvcmFsLWVudGl0aWVzLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMv c2dtbC90ZW1wb3JhbC5zZ21sCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNn bWwgYi9kb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dtbAppbmRleCBhYzY2ZmNiZGI1Ny4uYzc5MDVh ZTAwNTIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9maWxlbGlzdC5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9maWxlbGlzdC5zZ21sCkBAIC0zMCw2ICszMCw3IEBACiA8IUVOVElUWSByYW5nZXR5 cGVzIFNZU1RFTSAicmFuZ2V0eXBlcy5zZ21sIj4KIDwhRU5USVRZIHJvd3R5cGVzICAgU1lTVEVN ICJyb3d0eXBlcy5zZ21sIj4KIDwhRU5USVRZIHN5bnRheCAgICAgU1lTVEVNICJzeW50YXguc2dt bCI+Cis8IUVOVElUWSB0ZW1wb3JhbCAgIFNZU1RFTSAidGVtcG9yYWwuc2dtbCI+CiA8IUVOVElU WSB0ZXh0c2VhcmNoIFNZU1RFTSAidGV4dHNlYXJjaC5zZ21sIj4KIDwhRU5USVRZIHR5cGVjb252 ICAgU1lTVEVNICJ0eXBlY29udi5zZ21sIj4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ds b3NzYXJ5LnNnbWwgYi9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbAppbmRleCA4NjUxZjBjZGI5 MS4uZjRkNTc4M2QxZDUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCkBAIC04MSw2ICs4MSwyMSBAQAogICAgPC9n bG9zc2RlZj4KICAgPC9nbG9zc2VudHJ5PgogCisgIDxnbG9zc2VudHJ5IGlkPSJnbG9zc2FyeS1h cHBsaWNhdGlvbi10aW1lIj4KKyAgIDxnbG9zc3Rlcm0+QXBwbGljYXRpb24gdGltZTwvZ2xvc3N0 ZXJtPgorICAgPGdsb3NzZGVmPgorICAgIDxwYXJhPgorICAgICBJbiBhIDxnbG9zc3Rlcm0gbGlu a2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtdGFibGUiPnRlbXBvcmFsIHRhYmxlPC9nbG9zc3Rlcm0+ LAorICAgICB0aGUgZGltZW5zaW9uIG9mIHRpbWUgdGhhdCByZXByZXNlbnRzIHdoZW4gdGhlIGVu dGl0eSBkZXNjcmliZWQgYnkgdGhlIHRhYmxlCisgICAgIGNoYW5nZWQgKGFzIG9wcG9zZWQgdG8g dGhlIHRhYmxlIGl0c2VsZikuCisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorICAgICBGb3IgbW9y ZSBpbmZvcm1hdGlvbiwgc2VlCisgICAgIDx4cmVmIGxpbmtlbmQ9InRlbXBvcmFsLXRhYmxlcyIv Pi4KKyAgICA8L3BhcmE+CisgICA8L2dsb3NzZGVmPgorICA8L2dsb3NzZW50cnk+CisKICAgPGds b3NzZW50cnkgaWQ9Imdsb3NzYXJ5LWFpbyI+CiAgICA8Z2xvc3N0ZXJtPkFzeW5jaHJvbm91cyA8 YWNyb255bT5JL088L2Fjcm9ueW0+PC9nbG9zc3Rlcm0+CiAgICA8YWNyb255bT5BSU88L2Fjcm9u eW0+CkBAIC0xODQ3LDYgKzE4NjIsMjIgQEAKICAgIDwvZ2xvc3NkZWY+CiAgIDwvZ2xvc3NlbnRy eT4KIAorICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3Nhcnktc3lzdGVtLXRpbWUiPgorICAgPGdsb3Nz dGVybT5TeXN0ZW0gdGltZTwvZ2xvc3N0ZXJtPgorICAgPGdsb3NzZGVmPgorICAgIDxwYXJhPgor ICAgICBJbiBhIDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtdGFibGUiPnRl bXBvcmFsIHRhYmxlPC9nbG9zc3Rlcm0+LAorICAgICB0aGUgZGltZW5zaW9uIG9mIHRpbWUgdGhh dCByZXByZXNlbnRzIHdoZW4gdGhlIHRhYmxlIGl0c2VsZiB3YXMgY2hhbmdlZAorICAgICAoYXMg b3Bwb3NlZCB0byB0aGUgZW50aXR5IHRoZSB0YWJsZSBkZXNjcmliZXMpLgorICAgICBPZnRlbiB1 c2VkIGZvciBhdWRpdGluZywgY29tcGxpYW5jZSwgYW5kIGRlYnVnZ2luZy4KKyAgICA8L3BhcmE+ CisgICAgPHBhcmE+CisgICAgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUKKyAgICAgPHhyZWYg bGlua2VuZD0idGVtcG9yYWwtdGFibGVzIi8+LgorICAgIDwvcGFyYT4KKyAgIDwvZ2xvc3NkZWY+ CisgIDwvZ2xvc3NlbnRyeT4KKwogICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3NhcnktdGFibGUiPgog ICAgPGdsb3NzdGVybT5UYWJsZTwvZ2xvc3N0ZXJtPgogICAgPGdsb3NzZGVmPgpAQCAtMTg4NSw2 ICsxOTE2LDIyIEBACiAgICA8L2dsb3NzZGVmPgogICA8L2dsb3NzZW50cnk+CiAKKyAgPGdsb3Nz ZW50cnkgaWQ9Imdsb3NzYXJ5LXRlbXBvcmFsLXRhYmxlIj4KKyAgIDxnbG9zc3Rlcm0+VGVtcG9y YWwgdGFibGU8L2dsb3NzdGVybT4KKyAgIDxnbG9zc2RlZj4KKyAgICA8cGFyYT4KKyAgICAgPGds b3NzdGVybSBsaW5rZW5kPSJnbG9zc2FyeS10YWJsZSI+VGFibGVzPC9nbG9zc3Rlcm0+CisgICAg IHRoYXQgdHJhY2sgPGdsb3NzdGVybSBsaW5rZW5kPSJnbG9zc2FyeS1hcHBsaWNhdGlvbi10aW1l Ij5hcHBsaWNhdGlvbiB0aW1lPC9nbG9zc3Rlcm0+CisgICAgIG9yIDxnbG9zc3Rlcm0gbGlua2Vu ZD0iZ2xvc3Nhcnktc3lzdGVtLXRpbWUiPnN5c3RlbSB0aW1lPC9nbG9zc3Rlcm0+IChvciBib3Ro KS4KKyAgICAgTm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggPGdsb3NzdGVybSBsaW5rZW5kPSJnbG9z c2FyeS10ZW1wb3JhcnktdGFibGUiPnRlbXBvcmFyeSB0YWJsZXM8L2dsb3NzdGVybT4uCisgICAg PC9wYXJhPgorICAgIDxwYXJhPgorICAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlCisgICAg IDx4cmVmIGxpbmtlbmQ9InRlbXBvcmFsLXRhYmxlcyIvPi4KKyAgICA8L3BhcmE+CisgICA8L2ds b3NzZGVmPgorICA8L2dsb3NzZW50cnk+CisKICAgPGdsb3NzZW50cnkgaWQ9Imdsb3NzYXJ5LXRl bXBvcmFyeS10YWJsZSI+CiAgICA8Z2xvc3N0ZXJtPlRlbXBvcmFyeSB0YWJsZTwvZ2xvc3N0ZXJt PgogICAgPGdsb3NzZGVmPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdlcy9NYWtlZmls ZSBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKaW5kZXggNjQ1NTE5MDk1ZDAuLjFkOTlk NGUzMGM4IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL01ha2VmaWxlCisrKyBiL2Rv Yy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKQEAgLTUsNyArNSw4IEBACiBBTExfSU1BR0VTID0g XAogCWdlbmV0aWMtYWxnb3JpdGhtLnN2ZyBcCiAJZ2luLnN2ZyBcCi0JcGFnZWxheW91dC5zdmcK KwlwYWdlbGF5b3V0LnN2ZyBcCisJdGVtcG9yYWwtZW50aXRpZXMuc3ZnCiAKIERJVEFBID0gZGl0 YWEKIERPVCA9IGRvdApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1l bnRpdGllcy5zdmcgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWVudGl0aWVzLnN2Zwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDVlZTZhNzdlNzcKLS0tIC9k ZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWVudGl0aWVzLnN2ZwpA QCAtMCwwICsxLDM0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxzdmcgeG1sbnM9Imh0dHA6 Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTcwIDI4MCIgd2lkdGg9Ijk3MCIg aGVpZ2h0PSIyODAiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB2ZXJzaW9u PSIxLjAiPgorICA8ZGVmcz4KKyAgICA8ZmlsdGVyIGlkPSJmMiIgeD0iMCIgeT0iMCIgd2lkdGg9 IjIwMCUiIGhlaWdodD0iMjAwJSI+CisgICAgICA8ZmVPZmZzZXQgcmVzdWx0PSJvZmZPdXQiIGlu PSJTb3VyY2VHcmFwaGljIiBkeD0iNSIgZHk9IjUiLz4KKyAgICAgIDxmZUdhdXNzaWFuQmx1ciBy ZXN1bHQ9ImJsdXJPdXQiIGluPSJvZmZPdXQiIHN0ZERldmlhdGlvbj0iMyIvPgorICAgICAgPGZl QmxlbmQgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iYmx1ck91dCIgbW9kZT0ibm9ybWFsIi8+Cisg ICAgPC9maWx0ZXI+CisgIDwvZGVmcz4KKyAgPGcgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGlu ZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KKyAgICA8cmVjdCB4PSIwIiB5 PSIwIiB3aWR0aD0iOTcwIiBoZWlnaHQ9IjI4MCIgc3R5bGU9ImZpbGw6ICNmZmZmZmYiLz4KKyAg ICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1s aW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0iIzk5ZGQ5OSIgZD0i TTM4NS4wIDEzMy4wIEw5MjUuMCAxMzMuMCBMOTI1LjAgNjMuMCBMMzg1LjAgNjMuMCB6Ii8+Cisg ICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2Ut bGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9 Ik0yMDUuMCAxMzMuMCBMMjA1LjAgMjAzLjAgTDc0NS4wIDIwMy4wIEw3NDUuMCAxMzMuMCB6Ii8+ CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJv a2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTki IGQ9Ik0zODUuMCA2My4wIEwzODUuMCAxMzMuMCBMMjUuMCAxMzMuMCBMMjUuMCA2My4wIHoiLz4K KyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9r ZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0i TTIwNS4wIDIyNC4wIEwyMDUuMCAyMzcuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAi IHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxp bmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTI1LjAgMjI0LjAgTDI1LjAgMjM3LjAgIi8+ CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJv a2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9 Ik0zODUuMCAyMjQuMCBMMzg1LjAgMjM3LjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAw IiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1s aW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik01NjUuMCAyMjQuMCBMNTY1LjAgMjM3LjAg Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBz dHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUi IGQ9Ik03NDUuMCAyMjQuMCBMNzQ1LjAgMjM3LjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAw MDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9r ZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik05MjUuMCAyMjQuMCBMOTI1LjAgMjM3 LjAgIi8+CisgICAgPHRleHQgeD0iNDAiIHk9Ijk2IiBmb250LWZhbWlseT0iQ291cmllciIgZm9u dC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5wcm9kdWN0czwvdGV4dD4K KyAgICA8dGV4dCB4PSI0MCIgeT0iMTEwIiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXpl PSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4oNSwgJDUsIFsxIEphbiAyMDIwLDEg SmFuIDIwMjIpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMDAiIHk9IjI1MCIgZm9udC1mYW1pbHk9 IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAy MTwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMjAiIHk9IjE2NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIi IGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3Rl eHQ+CisgICAgPHRleHQgeD0iMjIwIiB5PSIxODAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig2LCAkOSwgWzEgSmFuIDIw MjEsMSBKYW4gMjAyNCkpPC90ZXh0PgorICAgIDx0ZXh0IHg9IjIwIiB5PSIyNTAiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi PjIwMjA8L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8 L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBm b250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig1LCAkOCwgWzEgSmFu IDIwMjIsKSk8L3RleHQ+CisgICAgPHRleHQgeD0iNTYwIiB5PSIyNTAiIGZvbnQtZmFtaWx5PSJD b3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjM8 L3RleHQ+CisgICAgPHRleHQgeD0iMzgwIiB5PSIyNTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBm b250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjI8L3RleHQ+Cisg ICAgPHRleHQgeD0iOTI5IiB5PSIyNTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9 IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPi4uLjwvdGV4dD4KKyAgICA8dGV4dCB4 PSI3NDAiIHk9IjI1MCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9r ZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNDwvdGV4dD4KKyAgPC9nPgorPC9zdmc+CmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWVudGl0aWVzLnR4dCBiL2RvYy9z cmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZW50aXRpZXMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi5iODY5NjgyZWZkNwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9z cmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZW50aXRpZXMudHh0CkBAIC0wLDAgKzEsMTYgQEAKKwor CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGNHUkUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8Cit8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAgICAgICB8IHBy b2R1Y3RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICg1 LCAkNSwgWzEgSmFuIDIwMjAsMSBKYW4gMjAyMikpICB8ICg1LCAkOCwgWzEgSmFuIDIwMjIsKSkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICAg ICAgICAgICB8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8CisgICAgICAgICAgICAgICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICB8ICg2LCAkOSwgWzEg SmFuIDIwMjEsMSBKYW4gMjAyNCkpICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CisgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK3wgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg IHwKKzIwMjAgICAgICAgICAgICAgIDIwMjEgICAgICAgICAgICAgIDIwMjIgICAgICAgICAgICAg IDIwMjMgICAgICAgICAgICAgIDIwMjQgICAgICAgICAgICAgIC4uLgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3Bvc3RncmVzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcG9zdGdyZXMuc2dtbAppbmRl eCBhZjQ3NmM4MmZjYy4uNWViMDM1MDVjZjEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wb3N0 Z3Jlcy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9wb3N0Z3Jlcy5zZ21sCkBAIC0xMTIsNiArMTEy LDcgQEAgYnJlYWsgaXMgbm90IG5lZWRlZCBpbiBhIHdpZGVyIG91dHB1dCByZW5kZXJpbmcuCiAg ICZ0ZXh0c2VhcmNoOwogICAmbXZjYzsKICAgJnBlcmZvcm07CisgICZ0ZW1wb3JhbDsKICAgJnBh cmFsbGVsOwogCiAgPC9wYXJ0PgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNn bWwgYi9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uNWQxZjY5N2ZlZTgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3Nn bWwvdGVtcG9yYWwuc2dtbApAQCAtMCwwICsxLDIxMyBAQAorPCEtLSBkb2Mvc3JjL3NnbWwvdGVt cG9yYWwuc2dtbCAtLT4KKworIDxjaGFwdGVyIGlkPSJ0ZW1wb3JhbC10YWJsZXMiPgorICA8dGl0 bGU+VGVtcG9yYWwgVGFibGVzPC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InRlbXBvcmFs LXRhYmxlcyI+CisgICA8cHJpbWFyeT50ZW1wb3JhbDwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+ CisKKyAgPHBhcmE+CisgICBUZW1wb3JhbCB0YWJsZXMgYWxsb3cgdXNlcnMgdG8gdHJhY2sgZGlm ZmVyZW50IGRpbWVuc2lvbnMgb2YKKyAgIGhpc3RvcnkuIEFwcGxpY2F0aW9uIHRpbWUgdHJhY2tz IHRoZSBoaXN0b3J5IG9mIGEgdGhpbmcgb3V0IGluIHRoZQorICAgd29ybGQsIGFuZCBzeXN0ZW0g dGltZSB0cmFja3MgdGhlIGhpc3Rvcnkgb2YgdGhlIGRhdGFiYXNlIGl0c2VsZi4gVGhpcworICAg Y2hhcHRlciBkZXNjcmliZXMgaG93IHRvIGV4cHJlc3MgYW5kIG1hbmFnZSBzdWNoIGhpc3Rvcmll cyBpbiB0ZW1wb3JhbAorICAgdGFibGVzLgorICA8L3BhcmE+CisKKyA8c2VjdDEgaWQ9ImFwcGxp Y2F0aW9uLXRpbWUiPgorICA8dGl0bGU+QXBwbGljYXRpb24gVGltZTwvdGl0bGU+CisKKyAgIDxp bmRleHRlcm0gem9uZT0iYXBwbGljYXRpb24tdGltZSI+CisgICAgPHByaW1hcnk+YXBwbGljYXRp b24gdGltZTwvcHJpbWFyeT4KKyAgIDwvaW5kZXh0ZXJtPgorCisgICA8cGFyYT4KKyAgICA8Zmly c3R0ZXJtPkFwcGxpY2F0aW9uIHRpbWU8L2ZpcnN0dGVybT4gcmVmZXJzIHRvIGEgaGlzdG9yeSBv ZiB0aGUKKyAgICBlbnRpdHkgZGVzY3JpYmVkIGJ5IGEgdGFibGUuIEluIGEgdHlwaWNhbCBub24t dGVtcG9yYWwgdGFibGUsIHRoZXJlIGlzCisgICAgc2luZ2xlIHJvdyBmb3IgZWFjaCBlbnRpdHku IEluIGEgdGVtcG9yYWwgdGFibGUsIGFuIGVudGl0eSBtYXkgaGF2ZQorICAgIG11bHRpcGxlIHJv d3MsIGFzIGxvbmcgYXMgdGhvc2Ugcm93cyBkZXNjcmliZSBub24tb3ZlcmxhcHBpbmcgcGVyaW9k cworICAgIGZyb20gaXRzIGhpc3RvcnkuIEFwcGxpY2F0aW9uIHRpbWUgcmVxdWlyZXMgZWFjaCBy b3cgdG8gaGF2ZSBhIHN0YXJ0CisgICAgYW5kIGVuZCB0aW1lLCBleHByZXNzaW5nIHdoZW4gdGhl IHJvdyBpcyB0cnVlLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBSZWNvcmRzIGluIGEg dGVtcG9yYWwgdGFibGUgY2FuIGJlIHBsb3R0ZWQgb24gYSB0aW1lbGluZSwgYXMgaW4KKyAgICA8 eHJlZiBsaW5rZW5kPSJ0ZW1wb3JhbC1lbnRpdGllcy1maWd1cmUiLz4uIEhlcmUgd2Ugc2hvdyB0 aHJlZSByZWNvcmRzCisgICAgZGVzY3JpYmluZyB0d28gcHJvZHVjdHMuIEVhY2ggcmVjb3JkIGlz IGEgdHVwbGUgd2l0aCB0aHJlZSBhdHRyaWJ1dGVzOgorICAgIHRoZSBpZCwgdGhlIHByaWNlLCBh bmQgdGhlIGFwcGxpY2F0aW9uIHRpbWUuIFNvIHByb2R1Y3QgNSB3YXMgZmlyc3QKKyAgICBvZmZl cmVkIGZvciAkNSBzdGFydGluZyBKYW51YXJ5IDEsIDIwMjAsIGJ1dCB0aGVuIGJlY2FtZSAkOCBz dGFydGluZworICAgIEphbnVhcnkgMSwgMjAyMi4gSXRzIHNlY29uZCByZWNvcmQgaGFzIG5vIHNw ZWNpZmllZCBlbmQgdGltZSwKKyAgICBpbmRpY2F0aW5nIHRoYXQgaXQgaXMgdHJ1ZSBpbmRlZmlu aXRlbHksIG9yIGZvciBhbGwgZnV0dXJlIHRpbWUuIFRoZQorICAgIGxhc3QgcmVjb3JkIHNob3dz IHRoYXQgcHJvZHVjdCA2IHdhcyBpbnRyb2R1Y2VkIEphbnVhcnkgMSwgMjAyMSBmb3IgJDksCisg ICAgdGhlbiBjYW5jZWxlZCBKYW51YXJ5IDEsIDIwMjQuCisgICA8L3BhcmE+CisKKyAgIDxmaWd1 cmUgaWQ9InRlbXBvcmFsLWVudGl0aWVzLWZpZ3VyZSI+CisgICAgPHRpdGxlPkFwcGxpY2F0aW9u IFRpbWUgRXhhbXBsZTwvdGl0bGU+CisgICAgPG1lZGlhb2JqZWN0PgorICAgICA8aW1hZ2VvYmpl Y3Q+CisgICAgICA8aW1hZ2VkYXRhIGZpbGVyZWY9ImltYWdlcy90ZW1wb3JhbC1lbnRpdGllcy5z dmciIGZvcm1hdD0iU1ZHIiB3aWR0aD0iMTAwJSIvPgorICAgICA8L2ltYWdlb2JqZWN0PgorICAg IDwvbWVkaWFvYmplY3Q+CisgICA8L2ZpZ3VyZT4KKworICAgPHBhcmE+CisgICAgSW4gYSB0YWJs ZSwgdGhlc2UgcmVjb3JkcyB3b3VsZCBiZToKKzxwcm9ncmFtbGlzdGluZz4KKyBpZCB8IHByaWNl IHwgICAgICAgIHZhbGlkX2F0CistLS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICA1IHwgICAgIDUgfCBbMjAyMC0wMS0wMSwyMDIzLTAxLTAxKQorICA1IHwgICAgIDggfCBb MjAyMy0wMS0wMSwpCisgIDYgfCAgICAgOSB8IFsyMDIxLTAxLTAxLDIwMjQtMDEtMDEpCis8L3By b2dyYW1saXN0aW5nPgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBXZSBzaG93IHRoZSBh cHBsaWNhdGlvbiB0aW1lIHVzaW5nIHJhbmdldHlwZSBub3RhdGlvbiwgYmVjYXVzZSBpdAorICAg IGlzIHN0b3JlZCBhcyBhIHNpbmdsZSBjb2x1bW4gKGVpdGhlciBhIHJhbmdlIG9yIG11bHRpcmFu Z2UpLiBCeQorICAgIGNvbnZlbnRpb24gcmFuZ2VzIGluY2x1ZGUgdGhlaXIgc3RhcnQgcG9pbnQg YnV0IGV4Y2x1ZGUgdGhlaXIgZW5kCisgICAgcG9pbnQuIFRoYXQgd2F5IHR3byBhZGphY2VudCBy YW5nZXMgY292ZXIgYWxsIHBvaW50cyB3aXRob3V0CisgICAgb3ZlcmxhcHBpbmcuCisgICA8L3Bh cmE+CisKKyAgIDxwYXJhPgorICAgIEluIHByaW5jaXBsZSwgYSB0YWJsZSB3aXRoIGFwcGxpY2F0 aW9uLXRpbWUgcmFuZ2VzL211bHRpcmFuZ2VzIGlzCisgICAgZXF1aXZhbGVudCB0byBhIHRhYmxl IHRoYXQgc3RvcmVzIGFwcGxpY2F0aW9uLXRpbWUgImluc3RhbnRzIjogb25lIGZvcgorICAgIGVh Y2ggc2Vjb25kLCBtaWxsaXNlY29uZCwgbmFub3NlY29uZCwgb3Igd2hhdGV2ZXIgZmluZXN0IGdy YW51bGFyaXR5IGlzCisgICAgYXZhaWxhYmxlLiBCdXQgc3VjaCBhIHRhYmxlIHdvdWxkIGNvbnRh aW4gZmFyIHRvbyBtYW55IHJvd3MsIHNvCisgICAgcmFuZ2VzL211bHRpcmFuZ2VzIG9mZmVyIGFu IG9wdGltaXphdGlvbiB0byByZXByZXNlbnQgdGhlIHNhbWUKKyAgICBpbmZvcm1hdGlvbiBpbiBh IGNvbXBhY3QgZm9ybS4gSW4gYWRkaXRpb24sIHJhbmdlcyBhbmQgbXVsdGlyYW5nZXMKKyAgICBv ZmZlciBhIG1vcmUgY29udmVuaWVudCBpbnRlcmZhY2UgZm9yIHR5cGljYWwgdGVtcG9yYWwgb3Bl cmF0aW9ucywKKyAgICB3aGVyZSByZWNvcmRzIGNoYW5nZSBpbmZyZXF1ZW50bHkgZW5vdWdoIHRo YXQgc2VwYXJhdGUgInZlcnNpb25zIgorICAgIHBlcnNpc3QgZm9yIGV4dGVuZGVkIHBlcmlvZHMg b2YgdGltZS4KKyAgIDwvcGFyYT4KKworICA8c2VjdDIgaWQ9ImFwcGxpY2F0aW9uLXRpbWUtcHJp bWFyeS1rZXlzIj4KKyAgIDx0aXRsZT5UZW1wb3JhbCBQcmltYXJ5IEtleXMgYW5kIFVuaXF1ZSBD b25zdHJhaW50czwvdGl0bGU+CisKKyAgIDxwYXJhPgorICAgIEEgdGFibGUgd2l0aCBhcHBsaWNh dGlvbiB0aW1lIGhhcyBhIGRpZmZlcmVudCBjb25jZXB0IG9mIGVudGl0eQorICAgIGludGVncml0 eSB0aGFuIGEgbm9uLXRlbXBvcmFsIHRhYmxlLiBUZW1wb3JhbCBlbnRpdHkgaW50ZWdyaXR5IGNh biBiZQorICAgIGVuZm9yY2VkIHdpdGggYSB0ZW1wb3JhbCBwcmltYXJ5IGtleS4gQSByZWd1bGFy IHByaW1hcnkga2V5IGhhcyBhdAorICAgIGxlYXN0IG9uZSBlbGVtZW50LCBhbGwgZWxlbWVudHMg YXJlIDxsaXRlcmFsPk5PVCBOVUxMPC9saXRlcmFsPiwgYW5kCisgICAgdGhlIGNvbWJpbmVkIHZh bHVlIG9mIGFsbCBlbGVtZW50cyBpcyB1bmlxdWUuIEEgdGVtcG9yYWwgcHJpbWFyeSBrZXkKKyAg ICBhbHNvIGhhcyBhdCBsZWFzdCBvbmUgc3VjaCBlbGVtZW50LCBidXQgaW4gYWRkaXRpb24gaXQg aGFzIGEgZmluYWwKKyAgICBlbGVtZW50IHRoYXQgaXMgYSByYW5nZXR5cGUgb3IgbXVsdGlyYW5n ZXR5cGUgdGhhdCBzaG93cyB3aGVuIGl0IHdhcworICAgIHRydWUuIFRoZSByZWd1bGFyIHBhcnRz IG9mIHRoZSBrZXkgbXVzdCBiZSB1bmlxdWUgZm9yIGFueSBtb21lbnQgaW4KKyAgICB0aW1lLCBi dXQgbm9uLXVuaXF1ZSByZWNvcmRzIGFyZSBhbGxvd2VkIGlmIHRoZWlyIGFwcGxpY2F0aW9uIHRp bWUgZG9lcworICAgIG5vdCBvdmVybGFwLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBU aGUgc3ludGF4IHRvIGNyZWF0ZSBhIHRlbXBvcmFsIHByaW1hcnkga2V5IGlzIGFzIGZvbGxvd3M6 CisKKzxwcm9ncmFtbGlzdGluZz4KK0FMVEVSIFRBQkxFIHByb2R1Y3RzCisgIEFERCBDT05TVFJB SU5UIHByb2R1Y3RzX3BrZXkKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAgICBJbiB0aGlzIGV4YW1wbGUsIDxsaXRl cmFsPmlkPC9saXRlcmFsPiBpcyB0aGUgbm9uLXRlbXBvcmFsIHBhcnQgb2YKKyAgICB0aGUga2V5 LCBhbmQgPGxpdGVyYWw+dmFsaWRfYXQ8L2xpdGVyYWw+IGlzIGEgcmFuZ2UgY29sdW1uIGNvbnRh aW5pbmcKKyAgICB0aGUgYXBwbGljYXRpb24gdGltZS4gWW91IGNhbiBhbHNvIGNyZWF0ZSB0aGUg cHJpbWFyeSBrZXkgYXMgcGFydCBvZgorICAgIHRoZSA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRl dGFibGUiPjxsaXRlcmFsPkNSRUFURQorICAgIFRBQkxFPC9saXRlcmFsPjwvbGluaz4gY29tbWFu ZC4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgVGhlIDxsaXRlcmFsPldJVEhPVVQgT1ZF UkxBUFM8L2xpdGVyYWw+IGNvbHVtbiBtdXN0IGJlIDxsaXRlcmFsPk5PVAorICAgIE5VTEw8L2xp dGVyYWw+IChsaWtlIHRoZSBvdGhlciBwYXJ0cyBvZiB0aGUga2V5KS4gSW4gYWRkaXRpb24gaXQg bWF5CisgICAgbm90IGNvbnRhaW4gZW1wdHkgdmFsdWVzOiBhIHJhbmdldHlwZSBvZiA8bGl0ZXJh bD4nZW1wdHknPC9saXRlcmFsPiBvcgorICAgIGEgbXVsdGlyYW5nZSBvZiA8bGl0ZXJhbD57fTwv bGl0ZXJhbD4uIEFuIGVtcHR5IGFwcGxpY2F0aW9uIHRpbWUgd291bGQKKyAgICBoYXZlIG5vIG1l YW5pbmcuCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIEl0IGlzIGFsc28gcG9zc2libGUg dG8gY3JlYXRlIGEgdGVtcG9yYWwgdW5pcXVlIGNvbnN0cmFpbnQgdGhhdCBpcworICAgIG5vdCBh IHByaW1hcnkga2V5LiBUaGUgc3ludGF4IGlzIHNpbWlsYXI6CisKKzxwcm9ncmFtbGlzdGluZz4K K0FMVEVSIFRBQkxFIHByb2R1Y3RzCisgIEFERCBDT05TVFJBSU5UIHByb2R1Y3RzX2lkX3ZhbGlk X2F0X2tleQorICBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKKzwvcHJv Z3JhbWxpc3Rpbmc+CisKKyAgICBZb3UgY2FuIGFsc28gY3JlYXRlIHRoZSB1bmlxdWUgY29uc3Ry YWludCBhcyBwYXJ0IG9mIHRoZSA8bGluaworbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxlIj48bGl0 ZXJhbD5DUkVBVEUgVEFCTEU8L2xpdGVyYWw+PC9saW5rPgorY29tbWFuZC4KKyAgIDwvcGFyYT4K KworICAgPHBhcmE+CisgICAgVGVtcG9yYWwgdW5pcXVlIGNvbnN0cmFpbnRzIGFsc28gZm9yYmlk IGVtcHR5IHJhbmdlcy9tdWx0aXJhbmdlcworICAgIGZvciB0aGVpciBhcHBsaWNhdGlvbiB0aW1l LCBhbHRob3VnaCB0aGF0IGNvbHVtbiBpcyBwZXJtaXR0ZWQgdG8gYmUKKyAgICBudWxsIChsaWtl IG90aGVyIGVsZW1lbnRzIG9mIHRoZSBrZXkpLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAg ICBUZW1wb3JhbCBwcmltYXJ5IGtleXMgYW5kIHVuaXF1ZSBjb25zdHJhaW50cyBhcmUgYmFja2Vk IGJ5CisgICAgPGxpbmsgbGlua2VuZD0iZ2lzdCI+R2lTVCBpbmRleGVzPC9saW5rPiByYXRoZXIg dGhhbiBCLVRyZWUgaW5kZXhlcy4gSW4KKyAgICBwcmFjdGljZSwgY3JlYXRpbmcgYSB0ZW1wb3Jh bCBwcmltYXJ5IGtleSBvciBleGNsdXNpb24gY29uc3RyYWludAorICAgIHJlcXVpcmVzIGluc3Rh bGxpbmcgdGhlIDx4cmVmIGxpbmtlbmQ9ImJ0cmVlLWdpc3QiLz4gZXh0ZW5zaW9uLCBzbyB0aGF0 CisgICAgdGhlIGRhdGFiYXNlIGhhcyBvcGNsYXNzZXMgZm9yIHRoZSBub24tdGVtcG9yYWwgcGFy dHMgb2YgdGhlIGtleS4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgVGVtcG9yYWwgcHJp bWFyeSBrZXlzIGFuZCB1bmlxdWUgY29uc3RyYWludHMgaGF2ZSB0aGUgc2FtZSBiZWhhdmlvcgor ICAgIGFzIDx4cmVmIGxpbmtlbmQ9ImRkbC1jb25zdHJhaW50cy1leGNsdXNpb24iLz4sIHdoZXJl IGVhY2ggcmVndWxhciBrZXkKKyAgICBwYXJ0IGlzIGNvbXBhcmVkIHdpdGggZXF1YWxpdHksIGFu ZCB0aGUgYXBwbGljYXRpb24gdGltZSBpcyBjb21wYXJlZAorICAgIHdpdGggb3ZlcmxhcHMsIGZv ciBleGFtcGxlIDxsaXRlcmFsPkVYQ0xVREUgVVNJTkcgZ2lzdCAoaWQgV0lUSCA9LAorICAgIHZh bGlkX2F0IFdJVEggJmFtcDsmYW1wOyk8L2xpdGVyYWw+LiBUaGUgb25seSBkaWZmZXJlbmNlIGlz IHRoYXQgdGhleQorICAgIGFsc28gZm9yYmlkIGFuIGVtcHR5IGFwcGxpY2F0aW9uIHRpbWUuCisg ICA8L3BhcmE+CisgIDwvc2VjdDI+CisKKyAgPHNlY3QyIGlkPSJhcHBsaWNhdGlvbi10aW1lLXVw ZGF0ZS1kZWxldGUiPgorICAgPHRpdGxlPlRlbXBvcmFsIFVwZGF0ZSBhbmQgRGVsZXRlPC90aXRs ZT4KKworICAgPHBhcmE+CisgICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1l PiBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBzcGVjaWFsCisgICAgc3ludGF4IHRvIHVwZGF0ZSBhbmQg ZGVsZXRlIHBvcnRpb25zIG9mIGhpc3RvcnkgaW4gdGVtcG9yYWwgdGFibGVzLgorICAgPC9wYXJh PgorICA8L3NlY3QyPgorICA8L3NlY3QxPgorCisgIDxzZWN0MSBpZD0ic3lzdGVtLXRpbWUiPgor ICAgPHRpdGxlPlN5c3RlbSBUaW1lPC90aXRsZT4KKworICAgPGluZGV4dGVybSB6b25lPSJzeXN0 ZW0tdGltZSI+CisgICAgPHByaW1hcnk+c3lzdGVtIHRpbWU8L3ByaW1hcnk+CisgICA8L2luZGV4 dGVybT4KKworICAgPHBhcmE+CisgICAgPGZpcnN0dGVybT5TeXN0ZW0gdGltZTwvZmlyc3R0ZXJt PiByZWZlcnMgdG8gdGhlIGhpc3Rvcnkgb2YgdGhlCisgICAgZGF0YWJhc2UgdGFibGUsIG5vdCB0 aGUgZW50aXR5IGl0IGRlc2NyaWJlcy4gSXQgY2FwdHVyZXMgd2hlbiBlYWNoIHJvdworICAgIHdh cyBpbnNlcnRlZC91cGRhdGVkL2RlbGV0ZWQuCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAg IExpa2UgYXBwbGljYXRpb24gdGltZSwgc3lzdGVtIHRpbWUgaGFzIHR3byB0aW1lc3RhbXBzOiBh IHN0YXJ0IHRpbWUKKyAgICBhbmQgYW4gZW5kIHRpbWUuIFRoZSBzdGFydCB0aW1lIHNob3dzIHdo ZW4gdGhlIHJvdyB3YXMgYWRkZWQgKGVpdGhlciBieQorICAgIGFuIGluc2VydCBvciBhbiB1cGRh dGUpLCBhbmQgdGhlIGVuZCB0aW1lIHNob3dzIHdoZW4gaXQgc3RvcHBlZCBiZWluZworICAgIGFz c2VydGVkIChlaXRoZXIgYnkgYW4gdXBkYXRlIG9yIGEgZGVsZXRlKS4gVGhlIGRhdGFiYXNlIG1h aW50YWlucworICAgIHRoZXNlIHZhbHVlcyBhdXRvbWF0aWNhbGx5OyB0aGUgdXNlciBpcyBub3Qg YWJsZSB0byBzZXQgdGhlbS4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgSWYgYSBxdWVy eSBmaWx0ZXJzIHJvd3MgZm9yIHRob3NlIHdpdGggYSBzeXN0ZW0gdGltZSBjb250YWluaW5nIGEK KyAgICBnaXZlbiBtb21lbnQgaW4gdGltZSwgdGhlIHJlc3VsdCBpcyBlcXVpdmFsZW50IHRvIGEg bm9uLXRlbXBvcmFsIHRhYmxlCisgICAgZnJvbSB0aGF0IG1vbWVudC4gSW4gdGhhdCB3YXksIHlv dSBjYW4gYXNrIHdoYXQgdGhlIHRhYmxlIGFzc2VydGVkIGF0CisgICAgZGlmZmVyZW50IHRpbWVz IGluIHRoZSBwYXN0LiBUaGlzIGlzIHVzZWZ1bCBmb3IgYXVkaXRpbmcsIGNvbXBsaWFuY2UsCisg ICAgYW5kIGRlYnVnZ2luZy4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgPHByb2R1Y3Ru YW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydAor ICAgIHN5c3RlbSB0aW1lLCBidXQgdGhlcmUgYXJlIHNldmVyYWwgZXh0ZW5zaW9ucyB0aGF0IHBy b3ZpZGUgaXRzCisgICAgZnVuY3Rpb25hbGl0eS4gU2VlCisgICAgPHVsaW5rIHVybD0iaHR0cHM6 Ly93aWtpLnBvc3RncmVzcWwub3JnL3dpa2kvU1FMMjAxMVRlbXBvcmFsIj50aGUgU1FMOjIwMTEK KyAgICBUZW1wb3JhbCB3aWtpIHBhZ2U8L3VsaW5rPiBmb3IgcG9zc2liaWxpdGllcy4KKyAgIDwv cGFyYT4KKyAgPC9zZWN0MT4KKworIDwvY2hhcHRlcj4KLS0gCjIuMzkuNQoK --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0003-Document-temporal-PERIODs.patch" Content-Disposition: attachment; filename="v57-0003-Document-temporal-PERIODs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnjw2 RnJvbSBiYjMwNWQ0MmRlNmUzMTRhNmI5OWEwZGRkNmY5ODBmNmQ5ZWRlYzQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjM6MjM6MjMgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NyAwMy8xMV0gRG9jdW1lbnQgdGVtcG9yYWwgUEVSSU9EcwoKV2UgZG9uJ3Qg c3VwcG9ydCB0aGVzZSB5ZXQsIHNvIHdlIGp1c3QgZXhwbGFpbiB0aGUgY29uY2VwdCwgc2F5IHRo YXQgd2UKdXNlIHJhbmdlcyBhbmQgbXVsdGlyYW5nZXMsIGFuZCBzYXkgdGhhdCB3ZSBwbGFuIHRv IHN1cHBvcnQgUEVSSU9EcyBpbgp0aGUgZnV0dXJlLgoKQXV0aG9yOiBQYXVsIEEuIEp1bmd3aXJ0 aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0KIGRvYy9zcmMvc2dtbC90ZW1wb3Jh bC5zZ21sIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2Vk LCAyOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNn bWwgYi9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbAppbmRleCAwOGM3Njk5MTI5MC4uZjU0YjBh NmIyODQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC90ZW1wb3JhbC5zZ21sCkBAIC0xNSw2ICsxNSwzNSBAQAogICAgdGFibGVzLgogICA8 L3BhcmE+CiAKKyA8c2VjdDEgaWQ9InBlcmlvZHMiPgorICA8dGl0bGU+UGVyaW9kczwvdGl0bGU+ CisKKyAgPGluZGV4dGVybSB6b25lPSJwZXJpb2RzIj4KKyAgIDxwcmltYXJ5PnBlcmlvZHM8L3By aW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxwYXJhPgorICAgQSA8Zmlyc3R0ZXJtPnBlcmlv ZDwvZmlyc3R0ZXJtPiBpcyBtZXRhZGF0YSBhdHRhY2hlZCB0byBhIHRhYmxlCisgICB1bml0aW5n IHR3byBjb2x1bW5zLCBhIHN0YXJ0IHRpbWUgYW5kIGVuZCB0aW1lLCBpbnRvIG9uZSByYW5nZS1s aWtlCisgICBjb25zdHJ1Y3QuIFBlcmlvZHMgYXJlIHVzZWQgdG8gcmVwcmVzZW50IDxsaW5rCisg ICBsaW5rZW5kPSJzeXN0ZW0tdGltZSI+c3lzdGVtIHRpbWU8L2xpbms+IGFuZCA8bGluaworICAg bGlua2VuZD0iYXBwbGljYXRpb24tdGltZSI+YXBwbGljYXRpb24gdGltZTwvbGluaz4uIEEgc3lz dGVtLXRpbWUKKyAgIHBlcmlvZCBtdXN0IGJlIG5hbWVkIDxsaXRlcmFsPnN5c3RlbV90aW1lPC9s aXRlcmFsPiwgYW5kIGFuCisgICBhcHBsaWNhdGlvbi10aW1lIHBlcmlvZCBjYW4gYmUgbmFtZWQg YW55dGhpbmcgZWxzZS4gVGhlaXIgbmFtZXMgbXVzdAorICAgbm90IGNvbmZsaWN0IHdpdGggY29s dW1uIG5hbWVzIGZyb20gdGhlIHNhbWUgdGFibGUuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAg IEFwcGxpY2F0aW9uLXRpbWUgcGVyaW9kcyBhcmUgcmVmZXJlbmNlZCBpbiBzZXZlcmFsIHRlbXBv cmFsIG9wZXJhdGlvbnMgZGVzY3JpYmVkIGluCisgICB0aGlzIGNoYXB0ZXI6IHRlbXBvcmFsIHBy aW1hcnkga2V5cywgdW5pcXVlIGNvbnN0cmFpbnRzLCBmb3JlaWduIGtleXMsCisgICB1cGRhdGUg Y29tbWFuZHMsIGFuZCBkZWxldGUgY29tbWFuZHMuCisgICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNR TDwvcHJvZHVjdG5hbWU+IGRvZXMgbm90IHlldCBzdXBwb3J0IHBlcmlvZHMuCisgICBDb21tYW5k cyB0aGF0IGFjY2VwdCBwZXJpb2RzIGluc3RlYWQgYWNjZXB0IGNvbHVtbnMgd2l0aCBhCisgICA8 bGluayBsaW5rZW5kPSJyYW5nZXR5cGVzLWJ1aWx0aW4iPnJhbmdldHlwZSBvciBtdWx0aXJhbmdl dHlwZTwvbGluaz4uCisgICBTdXBwb3J0IGZvciBwZXJpb2RzIGlzIHBsYW5uZWQgZm9yIHRoZSBm dXR1cmUuCisgIDwvcGFyYT4KKyA8L3NlY3QxPgorCiAgPHNlY3QxIGlkPSJhcHBsaWNhdGlvbi10 aW1lIj4KICAgPHRpdGxlPkFwcGxpY2F0aW9uIFRpbWU8L3RpdGxlPgogCi0tIAoyLjM5LjUKCg== --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0009-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch" Content-Disposition: attachment; filename="v57-0009-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnka8 RnJvbSBlZjViNDA0NDljNDkwYTNkMzMzNWJhNjYzNGJkMzcxZjg1MmY1YjJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgMyBKdW4gMjAyMyAyMTo0MToxMSAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggdjU3IDA5LzExXSBBZGQgQ0FTQ0FERS9TRVQgTlVMTC9TRVQgREVGQVVMVCBmb3Ig dGVtcG9yYWwKIGZvcmVpZ24ga2V5cwoKUHJldmlvdXNseSB3ZSByYWlzZWQgYW4gZXJyb3IgZm9y IHRoZXNlIG9wdGlvbnMsIGJlY2F1c2UgdGhlaXIKaW1wbGVtZW50YXRpb25zIHJlcXVpcmUgRk9S IFBPUlRJT04gT0YuIE5vdyB0aGF0IHdlIGhhdmUgdGVtcG9yYWwKVVBEQVRFL0RFTEVURSwgd2Ug Y2FuIGltcGxlbWVudCBmb3JlaWduIGtleXMgdGhhdCB1c2UgaXQuCgpBdXRob3I6IFBhdWwgQS4g SnVuZ3dpcnRoIDxwakBpbGx1bWluYXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfdGFibGUuc2dtbCAgICAgICAgICAgIHwgICAxNCArLQogZG9jL3NyYy9zZ21s L3RlbXBvcmFsLnNnbWwgICAgICAgICAgICAgICAgICAgIHwgICAgNyArLQogc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwgICA2NSArLQogc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMgICAgICAgICAgIHwgIDYxNyArKysrKystCiBzcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDIyICsKIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvYnRyZWVfaW5kZXgub3V0ICAgICB8ICAgMTggKy0KIC4uLi9yZWdy ZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0ICAgICB8IDE1OTQgKysrKysrKysrKysr KysrKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsICAgICB8ICA5 MDAgKysrKysrKysrLQogOCBmaWxlcyBjaGFuZ2VkLCAzMTg1IGluc2VydGlvbnMoKyksIDUyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNn bWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCmluZGV4IGExNTdhMjQ0ZTRl Li45NzVkNWRhYTBjMSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUu c2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCkBAIC0xMzE1LDcg KzEzMTUsOSBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ bnVtZXJpY19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICAgICAgPC9wYXJhPgogCiAg ICAgICAgICA8cGFyYT4KLSAgICAgICAgICBJbiBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LCB0aGlz IG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgorICAgICAgICAgIEluIGEgdGVtcG9yYWwgZm9yZWln biBrZXksIHRoZSBkZWxldGUvdXBkYXRlIHdpbGwgdXNlCisgICAgICAgICAgPGxpdGVyYWw+Rk9S IFBPUlRJT04gT0Y8L2xpdGVyYWw+IHNlbWFudGljcyB0byBjb25zdHJhaW4gdGhlCisgICAgICAg ICAgZWZmZWN0IHRvIHRoZSBib3VuZHMgYmVpbmcgZGVsZXRlZC91cGRhdGVkIGluIHRoZSByZWZl cmVuY2VkIHJvdy4KICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9saXN0aXRlbT4KICAgICAg ICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTEzMzAsNyArMTMzMiwxMCBAQCBXSVRIICggTU9EVUxVUyA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBsYWNlYWJs ZT4sIFJFTQogICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICBJ biBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LCB0aGlzIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgor ICAgICAgICAgIEluIGEgdGVtcG9yYWwgZm9yZWlnbiBrZXksIHRoZSBjaGFuZ2Ugd2lsbCB1c2Ug PGxpdGVyYWw+Rk9SIFBPUlRJT04KKyAgICAgICAgICBPRjwvbGl0ZXJhbD4gc2VtYW50aWNzIHRv IGNvbnN0cmFpbiB0aGUgZWZmZWN0IHRvIHRoZSBib3VuZHMgYmVpbmcKKyAgICAgICAgICBkZWxl dGVkL3VwZGF0ZWQgaW4gdGhlIHJlZmVyZW5jZWQgcm93LiBUaGUgY29sdW1uIG1ha2VkIHdpdGgK KyAgICAgICAgICA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHdpbGwgbm90IGJlIHNldCB0byBu dWxsLgogICAgICAgICAgPC9wYXJhPgogICAgICAgICA8L2xpc3RpdGVtPgogICAgICAgIDwvdmFy bGlzdGVudHJ5PgpAQCAtMTM0Nyw3ICsxMzUyLDEwIEBAIFdJVEggKCBNT0RVTFVTIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVN CiAgICAgICAgICA8L3BhcmE+CiAKICAgICAgICAgIDxwYXJhPgotICAgICAgICAgIEluIGEgdGVt cG9yYWwgZm9yZWlnbiBrZXksIHRoaXMgb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCisgICAgICAg ICAgSW4gYSB0ZW1wb3JhbCBmb3JlaWduIGtleSwgdGhlIGNoYW5nZSB3aWxsIHVzZSA8bGl0ZXJh bD5GT1IgUE9SVElPTgorICAgICAgICAgIE9GPC9saXRlcmFsPiBzZW1hbnRpY3MgdG8gY29uc3Ry YWluIHRoZSBlZmZlY3QgdG8gdGhlIGJvdW5kcyBiZWluZworICAgICAgICAgIGRlbGV0ZWQvdXBk YXRlZCBpbiB0aGUgcmVmZXJlbmNlZCByb3cuIFRoZSBjb2x1bW4gbWFya2VkIHdpdGgKKyAgICAg ICAgICA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHdpdGggbm90IGJlIHNldCB0byBhIGRlZmF1 bHQgdmFsdWUuCiAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICAg PC92YXJsaXN0ZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbCBi L2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCmluZGV4IGVmMjcwMWU4NjcwLi4zYjU2NDI2NDZl NyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3RlbXBvcmFsLnNnbWwKQEAgLTI1Miw5ICsyNTIsMTAgQEAgQUxURVIgVEFCTEUgdmFyaWFu dHMKICAgIDwvcGFyYT4KIAogICAgPHBhcmE+Ci0gICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8 L3Byb2R1Y3RuYW1lPiBzdXBwb3J0cyA8bGl0ZXJhbD5OTyBBQ1RJT048L2xpdGVyYWw+IHRlbXBv cmFsIGZvcmVpZ24ga2V5cywKLSAgICBidXQgbm90IDxsaXRlcmFsPlJFU1RSSUNUPC9saXRlcmFs PiwgPGxpdGVyYWw+Q0FTQ0FERTwvbGl0ZXJhbD4sIDxsaXRlcmFsPlNFVCBOVUxMPC9saXRlcmFs PiwKLSAgICBvciA8bGl0ZXJhbD5TRVQgREVGQVVMVDwvbGl0ZXJhbD4uCisgICAgPHByb2R1Y3Ru YW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBzdXBwb3J0cyA8bGl0ZXJhbD5OTyBBQ1RJT048 L2xpdGVyYWw+CisgICAgPGxpdGVyYWw+Q0FTQ0FERTwvbGl0ZXJhbD4sIDxsaXRlcmFsPlNFVCBO VUxMPC9saXRlcmFsPiwgYW5kCisgICAgPGxpdGVyYWw+U0VUIERFRkFVTFQ8L2xpdGVyYWw+IHRl bXBvcmFsIGZvcmVpZ24ga2V5cywKKyAgICBidXQgbm90IDxsaXRlcmFsPlJFU1RSSUNUPC9saXRl cmFsPi4KICAgIDwvcGFyYT4KICAgPC9zZWN0Mj4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpp bmRleCBkZTBmM2FmNDZjNS4uMTc2MzVlYjhhM2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5j CkBAIC01NjIsNyArNTYyLDcgQEAgc3RhdGljIE9iamVjdEFkZHJlc3MgQVRBZGRGb3JlaWduS2V5 Q29uc3RyYWludChMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICoKIAkJCQkJCQkJCQkJ ICAgUmVsYXRpb24gcmVsLCBDb25zdHJhaW50ICpma2NvbnN0cmFpbnQsCiAJCQkJCQkJCQkJCSAg IGJvb2wgcmVjdXJzZSwgYm9vbCByZWN1cnNpbmcsCiAJCQkJCQkJCQkJCSAgIExPQ0tNT0RFIGxv Y2ttb2RlKTsKLXN0YXRpYyBpbnQJdmFsaWRhdGVGa09uRGVsZXRlU2V0Q29sdW1ucyhpbnQgbnVt ZmtzLCBjb25zdCBpbnQxNiAqZmthdHRudW1zLAorc3RhdGljIGludAl2YWxpZGF0ZUZrT25EZWxl dGVTZXRDb2x1bW5zKGludCBudW1ma3MsIGNvbnN0IGludDE2ICpma2F0dG51bXMsIGNvbnN0IGlu dDE2IGZrcGVyaW9kYXR0bnVtLAogCQkJCQkJCQkJCSBpbnQgbnVtZmtzZXRjb2xzLCBpbnQxNiAq ZmtzZXRjb2xzYXR0bnVtcywKIAkJCQkJCQkJCQkgTGlzdCAqZmtzZXRjb2xzKTsKIHN0YXRpYyBP YmplY3RBZGRyZXNzIGFkZEZrQ29uc3RyYWludChhZGRGa0NvbnN0cmFpbnRTaWRlcyBma3NpZGUs CkBAIC0xMDA0OSw2ICsxMDA0OSw3IEBAIEFUQWRkRm9yZWlnbktleUNvbnN0cmFpbnQoTGlzdCAq KndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJaW50MTYJCWZr ZGVsc2V0Y29sc1tJTkRFWF9NQVhfS0VZU10gPSB7MH07CiAJYm9vbAkJd2l0aF9wZXJpb2Q7CiAJ Ym9vbAkJcGtfaGFzX3dpdGhvdXRfb3ZlcmxhcHM7CisJaW50MTYJCWZrcGVyaW9kYXR0bnVtID0g SW52YWxpZEF0dHJOdW1iZXI7CiAJaW50CQkJaTsKIAlpbnQJCQludW1ma3MsCiAJCQkJbnVtcGtz LApAQCAtMTAxMzQsMTUgKzEwMTM1LDIwIEBAIEFUQWRkRm9yZWlnbktleUNvbnN0cmFpbnQoTGlz dCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJCQkJCQkJ CQkgZmtjb25zdHJhaW50LT5ma19hdHRycywKIAkJCQkJCQkJCSBma2F0dG51bSwgZmt0eXBvaWQs IGZrY29sbG9pZCk7CiAJd2l0aF9wZXJpb2QgPSBma2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9k IHx8IGZrY29uc3RyYWludC0+cGtfd2l0aF9wZXJpb2Q7Ci0JaWYgKHdpdGhfcGVyaW9kICYmICFm a2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9kKQotCQllcmVwb3J0KEVSUk9SLAotCQkJCWVycmNv ZGUoRVJSQ09ERV9JTlZBTElEX0ZPUkVJR05fS0VZKSwKLQkJCQllcnJtc2coImZvcmVpZ24ga2V5 IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5j aW5nIHRhYmxlIikpOworCWlmICh3aXRoX3BlcmlvZCkKKwl7CisJCWlmICghZmtjb25zdHJhaW50 LT5ma193aXRoX3BlcmlvZCkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNP REVfSU5WQUxJRF9GT1JFSUdOX0tFWSksCisJCQkJCSBlcnJtc2coImZvcmVpZ24ga2V5IHVzZXMg UEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRh YmxlIikpKTsKKwkJZmtwZXJpb2RhdHRudW0gPSBma2F0dG51bVtudW1ma3MgLSAxXTsKKwl9CiAK IAludW1ma2RlbHNldGNvbHMgPSB0cmFuc2Zvcm1Db2x1bW5OYW1lTGlzdChSZWxhdGlvbkdldFJl bGlkKHJlbCksCiAJCQkJCQkJCQkJCSAgZmtjb25zdHJhaW50LT5ma19kZWxfc2V0X2NvbHMsCiAJ CQkJCQkJCQkJCSAgZmtkZWxzZXRjb2xzLCBOVUxMLCBOVUxMKTsKIAludW1ma2RlbHNldGNvbHMg PSB2YWxpZGF0ZUZrT25EZWxldGVTZXRDb2x1bW5zKG51bWZrcywgZmthdHRudW0sCisJCQkJCQkJ CQkJCQkgICBma3BlcmlvZGF0dG51bSwKIAkJCQkJCQkJCQkJCSAgIG51bWZrZGVsc2V0Y29scywK IAkJCQkJCQkJCQkJCSAgIGZrZGVsc2V0Y29scywKIAkJCQkJCQkJCQkJCSAgIGZrY29uc3RyYWlu dC0+ZmtfZGVsX3NldF9jb2xzKTsKQEAgLTEwMjQ0LDE5ICsxMDI1MCwxMyBAQCBBVEFkZEZvcmVp Z25LZXlDb25zdHJhaW50KExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVs YXRpb24gcmVsLAogCSAqLwogCWlmIChma2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9kKQogCXsK LQkJaWYgKGZrY29uc3RyYWludC0+ZmtfdXBkX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJT05fUkVT VFJJQ1QgfHwKLQkJCWZrY29uc3RyYWludC0+ZmtfdXBkX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJ T05fQ0FTQ0FERSB8fAotCQkJZmtjb25zdHJhaW50LT5ma191cGRfYWN0aW9uID09IEZLQ09OU1RS X0FDVElPTl9TRVROVUxMIHx8Ci0JCQlma2NvbnN0cmFpbnQtPmZrX3VwZF9hY3Rpb24gPT0gRktD T05TVFJfQUNUSU9OX1NFVERFRkFVTFQpCisJCWlmIChma2NvbnN0cmFpbnQtPmZrX3VwZF9hY3Rp b24gPT0gRktDT05TVFJfQUNUSU9OX1JFU1RSSUNUKQogCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJ ZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCiAJCQkJCWVycm1zZygidW5z dXBwb3J0ZWQgJXMgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklP RCIsCiAJCQkJCQkgICAiT04gVVBEQVRFIikpOwogCi0JCWlmIChma2NvbnN0cmFpbnQtPmZrX2Rl bF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9OX1JFU1RSSUNUIHx8Ci0JCQlma2NvbnN0cmFpbnQt PmZrX2RlbF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9OX0NBU0NBREUgfHwKLQkJCWZrY29uc3Ry YWludC0+ZmtfZGVsX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJT05fU0VUTlVMTCB8fAotCQkJZmtj b25zdHJhaW50LT5ma19kZWxfYWN0aW9uID09IEZLQ09OU1RSX0FDVElPTl9TRVRERUZBVUxUKQor CQlpZiAoZmtjb25zdHJhaW50LT5ma19kZWxfYWN0aW9uID09IEZLQ09OU1RSX0FDVElPTl9SRVNU UklDVCkKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCWVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05P VF9TVVBQT1JURUQpLAogCQkJCQllcnJtc2coInVuc3VwcG9ydGVkICVzIGFjdGlvbiBmb3IgZm9y ZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QiLApAQCAtMTA2MTMsNiArMTA2MTMsNyBA QCBBVEFkZEZvcmVpZ25LZXlDb25zdHJhaW50KExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUlu Zm8gKnRhYiwgUmVsYXRpb24gcmVsLAogICovCiBzdGF0aWMgaW50CiB2YWxpZGF0ZUZrT25EZWxl dGVTZXRDb2x1bW5zKGludCBudW1ma3MsIGNvbnN0IGludDE2ICpma2F0dG51bXMsCisJCQkJCQkJ IGNvbnN0IGludDE2IGZrcGVyaW9kYXR0bnVtLAogCQkJCQkJCSBpbnQgbnVtZmtzZXRjb2xzLCBp bnQxNiAqZmtzZXRjb2xzYXR0bnVtcywKIAkJCQkJCQkgTGlzdCAqZmtzZXRjb2xzKQogewpAQCAt MTA2MjYsNiArMTA2MjcsMTQgQEAgdmFsaWRhdGVGa09uRGVsZXRlU2V0Q29sdW1ucyhpbnQgbnVt ZmtzLCBjb25zdCBpbnQxNiAqZmthdHRudW1zLAogCQkvKiBNYWtlIHN1cmUgaXQncyBpbiBma2F0 dG51bXNbXSAqLwogCQlmb3IgKGludCBqID0gMDsgaiA8IG51bWZrczsgaisrKQogCQl7CisJCQlp ZiAoZmtwZXJpb2RhdHRudW0gPT0gc2V0Y29sX2F0dG51bSkKKwkJCXsKKwkJCQljaGFyCSAgICpj b2wgPSBzdHJWYWwobGlzdF9udGgoZmtzZXRjb2xzLCBpKSk7CisKKwkJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX0NPTFVNTl9SRUZFUkVOQ0UpLAorCQkJ CQkJIGVycm1zZygiY29sdW1uIFwiJXNcIiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0 aW9uIGNhbm5vdCBiZSBQRVJJT0QiLCBjb2wpKSk7CisJCQl9CiAJCQlpZiAoZmthdHRudW1zW2pd ID09IHNldGNvbF9hdHRudW0pCiAJCQl7CiAJCQkJc2VlbiA9IHRydWU7CkBAIC0xMzg2NSwxNyAr MTM4NzQsMjYgQEAgY3JlYXRlRm9yZWlnbktleUFjdGlvblRyaWdnZXJzKE9pZCBteVJlbE9pZCwg T2lkIHJlZlJlbE9pZCwgQ29uc3RyYWludCAqZmtjb25zdHIKIAkJY2FzZSBGS0NPTlNUUl9BQ1RJ T05fQ0FTQ0FERToKIAkJCWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBmYWxzZTsKIAkJCWZrX3Ry aWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBT eXN0ZW1GdW5jTmFtZSgiUklfRktleV9jYXNjYWRlX2RlbCIpOworCQkJaWYgKGZrY29uc3RyYWlu dC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5j TmFtZSgiUklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwiKTsKKwkJCWVsc2UKKwkJCQlma190cmln Z2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X2Nhc2NhZGVfZGVsIik7CiAJ CQlicmVhazsKIAkJY2FzZSBGS0NPTlNUUl9BQ1RJT05fU0VUTlVMTDoKIAkJCWZrX3RyaWdnZXIt PmRlZmVycmFibGUgPSBmYWxzZTsKIAkJCWZrX3RyaWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNl OwotCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9zZXRu dWxsX2RlbCIpOworCQkJaWYgKGZrY29uc3RyYWludC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtf dHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9wZXJpb2Rfc2V0bnVs bF9kZWwiKTsKKwkJCWVsc2UKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNO YW1lKCJSSV9GS2V5X3NldG51bGxfZGVsIik7CiAJCQlicmVhazsKIAkJY2FzZSBGS0NPTlNUUl9B Q1RJT05fU0VUREVGQVVMVDoKIAkJCWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBmYWxzZTsKIAkJ CWZrX3RyaWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dlci0+ZnVuY25h bWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9zZXRkZWZhdWx0X2RlbCIpOworCQkJaWYgKGZr Y29uc3RyYWludC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBT eXN0ZW1GdW5jTmFtZSgiUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwiKTsKKwkJCWVsc2UK KwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3NldGRl ZmF1bHRfZGVsIik7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bnJl Y29nbml6ZWQgRksgYWN0aW9uIHR5cGU6ICVkIiwKQEAgLTEzOTI1LDE3ICsxMzk0MywyNiBAQCBj cmVhdGVGb3JlaWduS2V5QWN0aW9uVHJpZ2dlcnMoT2lkIG15UmVsT2lkLCBPaWQgcmVmUmVsT2lk LCBDb25zdHJhaW50ICpma2NvbnN0cgogCQljYXNlIEZLQ09OU1RSX0FDVElPTl9DQVNDQURFOgog CQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+aW5pdGRl ZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1l KCJSSV9GS2V5X2Nhc2NhZGVfdXBkIik7CisJCQlpZiAoZmtjb25zdHJhaW50LT5ma193aXRoX3Bl cmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5 X3BlcmlvZF9jYXNjYWRlX3VwZCIpOworCQkJZWxzZQorCQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1l ID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfY2FzY2FkZV91cGQiKTsKIAkJCWJyZWFrOwogCQlj YXNlIEZLQ09OU1RSX0FDVElPTl9TRVROVUxMOgogCQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9 IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+aW5pdGRlZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmln Z2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3NldG51bGxfdXBkIik7CisJ CQlpZiAoZmtjb25zdHJhaW50LT5ma193aXRoX3BlcmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5j bmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3BlcmlvZF9zZXRudWxsX3VwZCIpOworCQkJ ZWxzZQorCQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlf c2V0bnVsbF91cGQiKTsKIAkJCWJyZWFrOwogCQljYXNlIEZLQ09OU1RSX0FDVElPTl9TRVRERUZB VUxUOgogCQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+ aW5pdGRlZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1 bmNOYW1lKCJSSV9GS2V5X3NldGRlZmF1bHRfdXBkIik7CisJCQlpZiAoZmtjb25zdHJhaW50LT5m a193aXRoX3BlcmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1l KCJSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X3VwZCIpOworCQkJZWxzZQorCQkJCWZrX3RyaWdn ZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfc2V0ZGVmYXVsdF91cGQiKTsK IAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBGSyBh Y3Rpb24gdHlwZTogJWQiLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3Ry aWdnZXJzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYwppbmRleCBmYzhk NTllMGY0Ny4uNGYyZDYyMDExYTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9y aV90cmlnZ2Vycy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jCkBA IC03OSw2ICs3OSwxMiBAQAogI2RlZmluZSBSSV9QTEFOX1NFVE5VTExfT05VUERBVEUJCTgKICNk ZWZpbmUgUklfUExBTl9TRVRERUZBVUxUX09OREVMRVRFCQk5CiAjZGVmaW5lIFJJX1BMQU5fU0VU REVGQVVMVF9PTlVQREFURQkJMTAKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfQ0FTQ0FERV9PTkRF TEVURQkJMTEKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfQ0FTQ0FERV9PTlVQREFURQkJMTIKKyNk ZWZpbmUgUklfUExBTl9QRVJJT0RfU0VUTlVMTF9PTlVQREFURQkJMTMKKyNkZWZpbmUgUklfUExB Tl9QRVJJT0RfU0VUTlVMTF9PTkRFTEVURQkJMTQKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfU0VU REVGQVVMVF9PTlVQREFURQkxNQorI2RlZmluZSBSSV9QTEFOX1BFUklPRF9TRVRERUZBVUxUX09O REVMRVRFCTE2CiAKICNkZWZpbmUgTUFYX1FVT1RFRF9OQU1FX0xFTiAgKE5BTUVEQVRBTEVOKjIr MykKICNkZWZpbmUgTUFYX1FVT1RFRF9SRUxfTkFNRV9MRU4gIChNQVhfUVVPVEVEX05BTUVfTEVO KjIpCkBAIC0xOTQsNiArMjAwLDcgQEAgc3RhdGljIGJvb2wgcmlfQ2hlY2tfUGtfTWF0Y2goUmVs YXRpb24gcGtfcmVsLCBSZWxhdGlvbiBma19yZWwsCiAJCQkJCQkJICBjb25zdCBSSV9Db25zdHJh aW50SW5mbyAqcmlpbmZvKTsKIHN0YXRpYyBEYXR1bSByaV9yZXN0cmljdChUcmlnZ2VyRGF0YSAq dHJpZ2RhdGEsIGJvb2wgaXNfbm9fYWN0aW9uKTsKIHN0YXRpYyBEYXR1bSByaV9zZXQoVHJpZ2dl ckRhdGEgKnRyaWdkYXRhLCBib29sIGlzX3NldF9udWxsLCBpbnQgdGdraW5kKTsKK3N0YXRpYyBE YXR1bSB0cmlfc2V0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwgYm9vbCBpc19zZXRfbnVsbCwgaW50 IHRna2luZCk7CiBzdGF0aWMgdm9pZCBxdW90ZU9uZU5hbWUoY2hhciAqYnVmZmVyLCBjb25zdCBj aGFyICpuYW1lKTsKIHN0YXRpYyB2b2lkIHF1b3RlUmVsYXRpb25OYW1lKGNoYXIgKmJ1ZmZlciwg UmVsYXRpb24gcmVsKTsKIHN0YXRpYyB2b2lkIHJpX0dlbmVyYXRlUXVhbChTdHJpbmdJbmZvIGJ1 ZiwKQEAgLTIzMCw2ICsyMzcsNyBAQCBzdGF0aWMgYm9vbCByaV9QZXJmb3JtQ2hlY2soY29uc3Qg UklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKIAkJCQkJCQlSSV9RdWVyeUtleSAqcWtleSwgU1BJ UGxhblB0ciBxcGxhbiwKIAkJCQkJCQlSZWxhdGlvbiBma19yZWwsIFJlbGF0aW9uIHBrX3JlbCwK IAkJCQkJCQlUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdCwgVHVwbGVUYWJsZVNsb3QgKm5ld3Nsb3Qs CisJCQkJCQkJaW50IHBlcmlvZFBhcmFtLCBEYXR1bSBwZXJpb2QsCiAJCQkJCQkJYm9vbCBpc19y ZXN0cmljdCwKIAkJCQkJCQlib29sIGRldGVjdE5ld1Jvd3MsIGludCBleHBlY3RfT0spOwogc3Rh dGljIHZvaWQgcmlfRXh0cmFjdFZhbHVlcyhSZWxhdGlvbiByZWwsIFR1cGxlVGFibGVTbG90ICpz bG90LApAQCAtMjM5LDYgKzI0NywxMSBAQCBwZ19ub3JldHVybiBzdGF0aWMgdm9pZCByaV9SZXBv cnRWaW9sYXRpb24oY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKIAkJCQkJCQkJCQkg ICBSZWxhdGlvbiBwa19yZWwsIFJlbGF0aW9uIGZrX3JlbCwKIAkJCQkJCQkJCQkgICBUdXBsZVRh YmxlU2xvdCAqdmlvbGF0b3JzbG90LCBUdXBsZURlc2MgdHVwZGVzYywKIAkJCQkJCQkJCQkgICBp bnQgcXVlcnlubywgYm9vbCBpc19yZXN0cmljdCwgYm9vbCBwYXJ0Z29uZSk7CitzdGF0aWMgYm9v bCBmcG9fdGFyZ2V0c19wa19yYW5nZShjb25zdCBGb3JQb3J0aW9uT2ZTdGF0ZSAqdGdfdGVtcG9y YWwsCisJCQkJCQkJCSBjb25zdCBSSV9Db25zdHJhaW50SW5mbyAqcmlpbmZvKTsKK3N0YXRpYyBE YXR1bSByZXN0cmljdF9lbmZvcmNlZF9yYW5nZShjb25zdCBGb3JQb3J0aW9uT2ZTdGF0ZSAqdGdf dGVtcG9yYWwsCisJCQkJCQkJCQkgY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKKwkJ CQkJCQkJCSBUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdCk7CiAKIAogLyoKQEAgLTQ1Miw2ICs0NjUs NyBAQCBSSV9GS2V5X2NoZWNrKFRyaWdnZXJEYXRhICp0cmlnZGF0YSkKIAlyaV9QZXJmb3JtQ2hl Y2socmlpbmZvLCAmcWtleSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJCQlOVUxM LCBuZXdzbG90LAorCQkJCQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJCQkJcGtfcmVs LT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSwKIAkJCQkJU1BJ X09LX1NFTEVDVCk7CkBAIC02MTcsNiArNjMxLDcgQEAgcmlfQ2hlY2tfUGtfTWF0Y2goUmVsYXRp b24gcGtfcmVsLCBSZWxhdGlvbiBma19yZWwsCiAJcmVzdWx0ID0gcmlfUGVyZm9ybUNoZWNrKHJp aW5mbywgJnFrZXksIHFwbGFuLAogCQkJCQkJCSBma19yZWwsIHBrX3JlbCwKIAkJCQkJCQkgb2xk c2xvdCwgTlVMTCwKKwkJCQkJCQkgLTEsIChEYXR1bSkgMCwKIAkJCQkJCQkgZmFsc2UsCiAJCQkJ CQkJIHRydWUsCS8qIHRyZWF0IGxpa2UgdXBkYXRlICovCiAJCQkJCQkJIFNQSV9PS19TRUxFQ1Qp OwpAQCAtODkzLDYgKzkwOCw3IEBAIHJpX3Jlc3RyaWN0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwg Ym9vbCBpc19ub19hY3Rpb24pCiAJcmlfUGVyZm9ybUNoZWNrKHJpaW5mbywgJnFrZXksIHFwbGFu LAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJb2xkc2xvdCwgTlVMTCwKKwkJCQkJLTEsIChE YXR1bSkgMCwKIAkJCQkJIWlzX25vX2FjdGlvbiwKIAkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0 IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19TRUxFQ1QpOwpAQCAtOTk1LDYgKzEwMTEsNyBAQCBS SV9GS2V5X2Nhc2NhZGVfZGVsKFBHX0ZVTkNUSU9OX0FSR1MpCiAJcmlfUGVyZm9ybUNoZWNrKHJp aW5mbywgJnFrZXksIHFwbGFuLAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJb2xkc2xvdCwg TlVMTCwKKwkJCQkJLTEsIChEYXR1bSkgMCwKIAkJCQkJZmFsc2UsCiAJCQkJCXRydWUsCQkvKiBt dXN0IGRldGVjdCBuZXcgcm93cyAqLwogCQkJCQlTUElfT0tfREVMRVRFKTsKQEAgLTExMTIsNiAr MTEyOSw3IEBAIFJJX0ZLZXlfY2FzY2FkZV91cGQoUEdfRlVOQ1RJT05fQVJHUykKIAlyaV9QZXJm b3JtQ2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJ CQlvbGRzbG90LCBuZXdzbG90LAorCQkJCQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJ CQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19VUERBVEUp OwpAQCAtMTM0MCw2ICsxMzU4LDcgQEAgcmlfc2V0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwgYm9v bCBpc19zZXRfbnVsbCwgaW50IHRna2luZCkKIAlyaV9QZXJmb3JtQ2hlY2socmlpbmZvLCAmcWtl eSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJCQlvbGRzbG90LCBOVUxMLAorCQkJ CQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0 IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19VUERBVEUpOwpAQCAtMTM3MSw2ICsxMzkwLDU0MCBA QCByaV9zZXQoVHJpZ2dlckRhdGEgKnRyaWdkYXRhLCBib29sIGlzX3NldF9udWxsLCBpbnQgdGdr aW5kKQogfQogCiAKKy8qCisgKiBSSV9GS2V5X3BlcmlvZF9jYXNjYWRlX2RlbCAtCisgKgorICog Q2FzY2FkZWQgZGVsZXRlIGZvcmVpZ24ga2V5IHJlZmVyZW5jZXMgYXQgZGVsZXRlIGV2ZW50IG9u IHRlbXBvcmFsIFBLIHRhYmxlLgorICovCitEYXR1bQorUklfRktleV9wZXJpb2RfY2FzY2FkZV9k ZWwoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEgPSAoVHJpZ2dl ckRhdGEgKikgZmNpbmZvLT5jb250ZXh0OworCWNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWlu Zm87CisJUmVsYXRpb24JZmtfcmVsOworCVJlbGF0aW9uCXBrX3JlbDsKKwlUdXBsZVRhYmxlU2xv dCAqb2xkc2xvdDsKKwlSSV9RdWVyeUtleSBxa2V5OworCVNQSVBsYW5QdHIJcXBsYW47CisJRGF0 dW0JCXRhcmdldFJhbmdlOworCisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dl ciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIo ZmNpbmZvLCAiUklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwiLCBSSV9UUklHVFlQRV9ERUxFVEUp OworCisJcmlpbmZvID0gcmlfRmV0Y2hDb25zdHJhaW50SW5mbyh0cmlnZGF0YS0+dGdfdHJpZ2dl ciwKKwkJCQkJCQkJCXRyaWdkYXRhLT50Z19yZWxhdGlvbiwgdHJ1ZSk7CisKKwkvKgorCSAqIEdl dCB0aGUgcmVsYXRpb24gZGVzY3JpcHRvcnMgb2YgdGhlIEZLIGFuZCBQSyB0YWJsZXMgYW5kIHRo ZSBvbGQgdHVwbGUuCisJICoKKwkgKiBma19yZWwgaXMgb3BlbmVkIGluIFJvd0V4Y2x1c2l2ZUxv Y2sgbW9kZSBzaW5jZSB0aGF0J3Mgd2hhdCBvdXIKKwkgKiBldmVudHVhbCBERUxFVEUgd2lsbCBn ZXQgb24gaXQuCisJICovCisJZmtfcmVsID0gdGFibGVfb3BlbihyaWluZm8tPmZrX3JlbGlkLCBS b3dFeGNsdXNpdmVMb2NrKTsKKwlwa19yZWwgPSB0cmlnZGF0YS0+dGdfcmVsYXRpb247CisJb2xk c2xvdCA9IHRyaWdkYXRhLT50Z190cmlnc2xvdDsKKworCS8qCisJICogRG9uJ3QgZGVsZXRlIHRo YW4gbW9yZSB0aGFuIHRoZSBQSydzIGR1cmF0aW9uLCB0cmltbWVkIGJ5IGFuIG9yaWdpbmFsCisJ ICogRk9SIFBPUlRJT04gT0YgaWYgbmVjZXNzYXJ5LgorCSAqLworCXRhcmdldFJhbmdlID0gcmVz dHJpY3RfZW5mb3JjZWRfcmFuZ2UodHJpZ2RhdGEtPnRnX3RlbXBvcmFsLCByaWluZm8sIG9sZHNs b3QpOworCisJaWYgKFNQSV9jb25uZWN0KCkgIT0gU1BJX09LX0NPTk5FQ1QpCisJCWVsb2coRVJS T1IsICJTUElfY29ubmVjdCBmYWlsZWQiKTsKKworCS8qIEZldGNoIG9yIHByZXBhcmUgYSBzYXZl ZCBwbGFuIGZvciB0aGUgY2FzY2FkZWQgZGVsZXRlICovCisJcmlfQnVpbGRRdWVyeUtleSgmcWtl eSwgcmlpbmZvLCBSSV9QTEFOX1BFUklPRF9DQVNDQURFX09OREVMRVRFKTsKKworCWlmICgocXBs YW4gPSByaV9GZXRjaFByZXBhcmVkUGxhbigmcWtleSkpID09IE5VTEwpCisJeworCQlTdHJpbmdJ bmZvRGF0YSBxdWVyeWJ1ZjsKKwkJY2hhcgkJZmtyZWxuYW1lW01BWF9RVU9URURfUkVMX05BTUVf TEVOXTsKKwkJY2hhcgkJYXR0bmFtZVtNQVhfUVVPVEVEX05BTUVfTEVOXTsKKwkJY2hhcgkJcGFy YW1uYW1lWzE2XTsKKwkJY29uc3QgY2hhciAqcXVlcnlzZXA7CisJCU9pZAkJCXF1ZXJ5b2lkc1tS SV9NQVhfTlVNS0VZUyArIDFdOworCQljb25zdCBjaGFyICpma19vbmx5OworCisJCS8qIC0tLS0t LS0tLS0KKwkJICogVGhlIHF1ZXJ5IHN0cmluZyBidWlsdCBpcworCQkgKiAgREVMRVRFIEZST00g W09OTFldIDxma3RhYmxlPgorCQkgKiAgRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgke24rMX0pCisJ CSAqICBXSEVSRSAkMSA9IGZrYXR0MSBbQU5EIC4uLl0KKwkJICogVGhlIHR5cGUgaWQncyBmb3Ig dGhlICQgcGFyYW1ldGVycyBhcmUgdGhvc2Ugb2YgdGhlCisJCSAqIGNvcnJlc3BvbmRpbmcgUEsg YXR0cmlidXRlcy4KKwkJICogLS0tLS0tLS0tLQorCQkgKi8KKwkJaW5pdFN0cmluZ0luZm8oJnF1 ZXJ5YnVmKTsKKwkJZmtfb25seSA9IGZrX3JlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRf UEFSVElUSU9ORURfVEFCTEUgPworCQkJIiIgOiAiT05MWSAiOworCQlxdW90ZVJlbGF0aW9uTmFt ZShma3JlbG5hbWUsIGZrX3JlbCk7CisJCXF1b3RlT25lTmFtZShhdHRuYW1lLCBSSUF0dE5hbWUo ZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAtIDFdKSk7CisKKwkJYXBw ZW5kU3RyaW5nSW5mbygmcXVlcnlidWYsICJERUxFVEUgRlJPTSAlcyVzIEZPUiBQT1JUSU9OIE9G ICVzICgkJWQpIiwKKwkJCQkJCSBma19vbmx5LCBma3JlbG5hbWUsIGF0dG5hbWUsIHJpaW5mby0+ bmtleXMgKyAxKTsKKwkJcXVlcnlzZXAgPSAiV0hFUkUiOworCQlmb3IgKGludCBpID0gMDsgaSA8 IHJpaW5mby0+bmtleXM7IGkrKykKKwkJeworCQkJT2lkCQkJcGtfdHlwZSA9IFJJQXR0VHlwZShw a19yZWwsIHJpaW5mby0+cGtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlwa19jb2xsID0gUklBdHRD b2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJZmtfdHlw ZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlm a19jb2xsID0gUklBdHRDb2xsYXRpb24oZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbaV0pOwor CisJCQlxdW90ZU9uZU5hbWUoYXR0bmFtZSwKKwkJCQkJCSBSSUF0dE5hbWUoZmtfcmVsLCByaWlu Zm8tPmZrX2F0dG51bXNbaV0pKTsKKwkJCXNwcmludGYocGFyYW1uYW1lLCAiJCVkIiwgaSArIDEp OworCQkJcmlfR2VuZXJhdGVRdWFsKCZxdWVyeWJ1ZiwgcXVlcnlzZXAsCisJCQkJCQkJcGFyYW1u YW1lLCBwa190eXBlLAorCQkJCQkJCXJpaW5mby0+cGZfZXFfb3Byc1tpXSwKKwkJCQkJCQlhdHRu YW1lLCBma190eXBlKTsKKwkJCWlmIChwa19jb2xsICE9IGZrX2NvbGwgJiYgIWdldF9jb2xsYXRp b25faXNkZXRlcm1pbmlzdGljKHBrX2NvbGwpKQorCQkJCXJpX0dlbmVyYXRlUXVhbENvbGxhdGlv bigmcXVlcnlidWYsIHBrX2NvbGwpOworCQkJcXVlcnlzZXAgPSAiQU5EIjsKKwkJCXF1ZXJ5b2lk c1tpXSA9IHBrX3R5cGU7CisJCX0KKworCQkvKiBTZXQgYSBwYXJhbSBmb3IgRk9SIFBPUlRJT04g T0YgVE8vRlJPTSAqLworCQlxdWVyeW9pZHNbcmlpbmZvLT5ua2V5c10gPSBSSUF0dFR5cGUocGtf cmVsLCByaWluZm8tPnBrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAtIDFdKTsKKworCQkvKiBQcmVw YXJlIGFuZCBzYXZlIHRoZSBwbGFuICovCisJCXFwbGFuID0gcmlfUGxhbkNoZWNrKHF1ZXJ5YnVm LmRhdGEsIHJpaW5mby0+bmtleXMgKyAxLCBxdWVyeW9pZHMsCisJCQkJCQkJICZxa2V5LCBma19y ZWwsIHBrX3JlbCk7CisJfQorCisJLyoKKwkgKiBXZSBoYXZlIGEgcGxhbiBub3cuIEJ1aWxkIHVw IHRoZSBhcmd1bWVudHMgZnJvbSB0aGUga2V5IHZhbHVlcyBpbiB0aGUKKwkgKiBkZWxldGVkIFBL IHR1cGxlIGFuZCBkZWxldGUgdGhlIHJlZmVyZW5jaW5nIHJvd3MKKwkgKi8KKwlyaV9QZXJmb3Jt Q2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCisJCQkJCWZrX3JlbCwgcGtfcmVsLAorCQkJCQlv bGRzbG90LCBOVUxMLAorCQkJCQlyaWluZm8tPm5rZXlzICsgMSwgdGFyZ2V0UmFuZ2UsCisJCQkJ CWZhbHNlLAorCQkJCQl0cnVlLAkJLyogbXVzdCBkZXRlY3QgbmV3IHJvd3MgKi8KKwkJCQkJU1BJ X09LX0RFTEVURSk7CisKKwlpZiAoU1BJX2ZpbmlzaCgpICE9IFNQSV9PS19GSU5JU0gpCisJCWVs b2coRVJST1IsICJTUElfZmluaXNoIGZhaWxlZCIpOworCisJdGFibGVfY2xvc2UoZmtfcmVsLCBS b3dFeGNsdXNpdmVMb2NrKTsKKworCXJldHVybiBQb2ludGVyR2V0RGF0dW0oTlVMTCk7Cit9CisK Ky8qCisgKiBSSV9GS2V5X3BlcmlvZF9jYXNjYWRlX3VwZCAtCisgKgorICogQ2FzY2FkZWQgdXBk YXRlIGZvcmVpZ24ga2V5IHJlZmVyZW5jZXMgYXQgdXBkYXRlIGV2ZW50IG9uIHRlbXBvcmFsIFBL IHRhYmxlLgorICovCitEYXR1bQorUklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQoUEdfRlVOQ1RJ T05fQVJHUykKK3sKKwlUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEgPSAoVHJpZ2dlckRhdGEgKikgZmNp bmZvLT5jb250ZXh0OworCWNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm87CisJUmVsYXRp b24JZmtfcmVsOworCVJlbGF0aW9uCXBrX3JlbDsKKwlUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdDsK KwlUdXBsZVRhYmxlU2xvdCAqbmV3c2xvdDsKKwlSSV9RdWVyeUtleSBxa2V5OworCVNQSVBsYW5Q dHIJcXBsYW47CisJRGF0dW0JCXRhcmdldFJhbmdlOworCisJLyogQ2hlY2sgdGhhdCB0aGlzIGlz IGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwly aV9DaGVja1RyaWdnZXIoZmNpbmZvLCAiUklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQiLCBSSV9U UklHVFlQRV9VUERBVEUpOworCisJcmlpbmZvID0gcmlfRmV0Y2hDb25zdHJhaW50SW5mbyh0cmln ZGF0YS0+dGdfdHJpZ2dlciwKKwkJCQkJCQkJCXRyaWdkYXRhLT50Z19yZWxhdGlvbiwgdHJ1ZSk7 CisKKwkvKgorCSAqIEdldCB0aGUgcmVsYXRpb24gZGVzY3JpcHRvcnMgb2YgdGhlIEZLIGFuZCBQ SyB0YWJsZXMgYW5kIHRoZSBuZXcgYW5kCisJICogb2xkIHR1cGxlLgorCSAqCisJICogZmtfcmVs IGlzIG9wZW5lZCBpbiBSb3dFeGNsdXNpdmVMb2NrIG1vZGUgc2luY2UgdGhhdCdzIHdoYXQgb3Vy CisJICogZXZlbnR1YWwgVVBEQVRFIHdpbGwgZ2V0IG9uIGl0LgorCSAqLworCWZrX3JlbCA9IHRh YmxlX29wZW4ocmlpbmZvLT5ma19yZWxpZCwgUm93RXhjbHVzaXZlTG9jayk7CisJcGtfcmVsID0g dHJpZ2RhdGEtPnRnX3JlbGF0aW9uOworCW5ld3Nsb3QgPSB0cmlnZGF0YS0+dGdfbmV3c2xvdDsK KwlvbGRzbG90ID0gdHJpZ2RhdGEtPnRnX3RyaWdzbG90OworCisJLyoKKwkgKiBEb24ndCBkZWxl dGUgdGhhbiBtb3JlIHRoYW4gdGhlIFBLJ3MgZHVyYXRpb24sIHRyaW1tZWQgYnkgYW4gb3JpZ2lu YWwKKwkgKiBGT1IgUE9SVElPTiBPRiBpZiBuZWNlc3NhcnkuCisJICovCisJdGFyZ2V0UmFuZ2Ug PSByZXN0cmljdF9lbmZvcmNlZF9yYW5nZSh0cmlnZGF0YS0+dGdfdGVtcG9yYWwsIHJpaW5mbywg b2xkc2xvdCk7CisKKwlpZiAoU1BJX2Nvbm5lY3QoKSAhPSBTUElfT0tfQ09OTkVDVCkKKwkJZWxv ZyhFUlJPUiwgIlNQSV9jb25uZWN0IGZhaWxlZCIpOworCisJLyogRmV0Y2ggb3IgcHJlcGFyZSBh IHNhdmVkIHBsYW4gZm9yIHRoZSBjYXNjYWRlZCB1cGRhdGUgKi8KKwlyaV9CdWlsZFF1ZXJ5S2V5 KCZxa2V5LCByaWluZm8sIFJJX1BMQU5fUEVSSU9EX0NBU0NBREVfT05VUERBVEUpOworCisJaWYg KChxcGxhbiA9IHJpX0ZldGNoUHJlcGFyZWRQbGFuKCZxa2V5KSkgPT0gTlVMTCkKKwl7CisJCVN0 cmluZ0luZm9EYXRhIHF1ZXJ5YnVmOworCQlTdHJpbmdJbmZvRGF0YSBxdWFsYnVmOworCQljaGFy CQlma3JlbG5hbWVbTUFYX1FVT1RFRF9SRUxfTkFNRV9MRU5dOworCQljaGFyCQlhdHRuYW1lW01B WF9RVU9URURfTkFNRV9MRU5dOworCQljaGFyCQlwYXJhbW5hbWVbMTZdOworCQljb25zdCBjaGFy ICpxdWVyeXNlcDsKKwkJY29uc3QgY2hhciAqcXVhbHNlcDsKKwkJT2lkCQkJcXVlcnlvaWRzWzIg KiBSSV9NQVhfTlVNS0VZUyArIDFdOworCQljb25zdCBjaGFyICpma19vbmx5OworCisJCS8qIC0t LS0tLS0tLS0KKwkJICogVGhlIHF1ZXJ5IHN0cmluZyBidWlsdCBpcworCQkgKiAgVVBEQVRFIFtP TkxZXSA8Zmt0YWJsZT4KKwkJICoJCSAgRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgkezJuKzF9KQor CQkgKgkJICBTRVQgZmthdHQxID0gJDEsIFssIC4uLl0KKwkJICoJCSAgV0hFUkUgJG4gPSBma2F0 dDEgW0FORCAuLi5dCisJCSAqIFRoZSB0eXBlIGlkJ3MgZm9yIHRoZSAkIHBhcmFtZXRlcnMgYXJl IHRob3NlIG9mIHRoZQorCQkgKiBjb3JyZXNwb25kaW5nIFBLIGF0dHJpYnV0ZXMuICBOb3RlIHRo YXQgd2UgYXJlIGFzc3VtaW5nCisJCSAqIHRoZXJlIGlzIGFuIGFzc2lnbm1lbnQgY2FzdCBmcm9t IHRoZSBQSyB0byB0aGUgRksgdHlwZTsKKwkJICogZWxzZSB0aGUgcGFyc2VyIHdpbGwgZmFpbC4K KwkJICogLS0tLS0tLS0tLQorCQkgKi8KKwkJaW5pdFN0cmluZ0luZm8oJnF1ZXJ5YnVmKTsKKwkJ aW5pdFN0cmluZ0luZm8oJnF1YWxidWYpOworCQlma19vbmx5ID0gZmtfcmVsLT5yZF9yZWwtPnJl bGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSA/CisJCQkiIiA6ICJPTkxZICI7CisJ CXF1b3RlUmVsYXRpb25OYW1lKGZrcmVsbmFtZSwgZmtfcmVsKTsKKwkJcXVvdGVPbmVOYW1lKGF0 dG5hbWUsIFJJQXR0TmFtZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tyaWluZm8tPm5rZXlz IC0gMV0pKTsKKworCQlhcHBlbmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwgIlVQREFURSAlcyVzIEZP UiBQT1JUSU9OIE9GICVzICgkJWQpIFNFVCIsCisJCQkJCQkgZmtfb25seSwgZmtyZWxuYW1lLCBh dHRuYW1lLCAyICogcmlpbmZvLT5ua2V5cyArIDEpOworCisJCXF1ZXJ5c2VwID0gIiI7CisJCXF1 YWxzZXAgPSAiV0hFUkUiOworCQlmb3IgKGludCBpID0gMCwgaiA9IHJpaW5mby0+bmtleXM7IGkg PCByaWluZm8tPm5rZXlzOyBpKyssIGorKykKKwkJeworCQkJT2lkCQkJcGtfdHlwZSA9IFJJQXR0 VHlwZShwa19yZWwsIHJpaW5mby0+cGtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlwa19jb2xsID0g UklBdHRDb2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJ ZmtfdHlwZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlP aWQJCQlma19jb2xsID0gUklBdHRDb2xsYXRpb24oZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNb aV0pOworCisJCQlxdW90ZU9uZU5hbWUoYXR0bmFtZSwKKwkJCQkJCSBSSUF0dE5hbWUoZmtfcmVs LCByaWluZm8tPmZrX2F0dG51bXNbaV0pKTsKKworCQkJLyoKKwkJCSAqIERvbid0IHNldCB0aGUg dGVtcG9yYWwgY29sdW1uKHMpLiBGT1IgUE9SVElPTiBPRiB3aWxsIHRha2UgY2FyZQorCQkJICog b2YgdGhhdC4KKwkJCSAqLworCQkJaWYgKGkgPCByaWluZm8tPm5rZXlzIC0gMSkKKwkJCQlhcHBl bmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwKKwkJCQkJCQkJICIlcyAlcyA9ICQlZCIsCisJCQkJCQkJ CSBxdWVyeXNlcCwgYXR0bmFtZSwgaSArIDEpOworCisJCQlzcHJpbnRmKHBhcmFtbmFtZSwgIiQl ZCIsIGogKyAxKTsKKwkJCXJpX0dlbmVyYXRlUXVhbCgmcXVhbGJ1ZiwgcXVhbHNlcCwKKwkJCQkJ CQlwYXJhbW5hbWUsIHBrX3R5cGUsCisJCQkJCQkJcmlpbmZvLT5wZl9lcV9vcHJzW2ldLAorCQkJ CQkJCWF0dG5hbWUsIGZrX3R5cGUpOworCQkJaWYgKHBrX2NvbGwgIT0gZmtfY29sbCAmJiAhZ2V0 X2NvbGxhdGlvbl9pc2RldGVybWluaXN0aWMocGtfY29sbCkpCisJCQkJcmlfR2VuZXJhdGVRdWFs Q29sbGF0aW9uKCZxdWVyeWJ1ZiwgcGtfY29sbCk7CisJCQlxdWVyeXNlcCA9ICIsIjsKKwkJCXF1 YWxzZXAgPSAiQU5EIjsKKwkJCXF1ZXJ5b2lkc1tpXSA9IHBrX3R5cGU7CisJCQlxdWVyeW9pZHNb al0gPSBwa190eXBlOworCQl9CisJCWFwcGVuZEJpbmFyeVN0cmluZ0luZm8oJnF1ZXJ5YnVmLCBx dWFsYnVmLmRhdGEsIHF1YWxidWYubGVuKTsKKworCQkvKiBTZXQgYSBwYXJhbSBmb3IgRk9SIFBP UlRJT04gT0YgVE8vRlJPTSAqLworCQlxdWVyeW9pZHNbMiAqIHJpaW5mby0+bmtleXNdID0gUklB dHRUeXBlKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW3JpaW5mby0+bmtleXMgLSAxXSk7CisK KwkJLyogUHJlcGFyZSBhbmQgc2F2ZSB0aGUgcGxhbiAqLworCQlxcGxhbiA9IHJpX1BsYW5DaGVj ayhxdWVyeWJ1Zi5kYXRhLCAyICogcmlpbmZvLT5ua2V5cyArIDEsIHF1ZXJ5b2lkcywKKwkJCQkJ CQkgJnFrZXksIGZrX3JlbCwgcGtfcmVsKTsKKwl9CisKKwkvKgorCSAqIFdlIGhhdmUgYSBwbGFu IG5vdy4gUnVuIGl0IHRvIHVwZGF0ZSB0aGUgZXhpc3RpbmcgcmVmZXJlbmNlcy4KKwkgKi8KKwly aV9QZXJmb3JtQ2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCisJCQkJCWZrX3JlbCwgcGtfcmVs LAorCQkJCQlvbGRzbG90LCBuZXdzbG90LAorCQkJCQlyaWluZm8tPm5rZXlzICogMiArIDEsIHRh cmdldFJhbmdlLAorCQkJCQlmYWxzZSwKKwkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0IG5ldyBy b3dzICovCisJCQkJCVNQSV9PS19VUERBVEUpOworCisJaWYgKFNQSV9maW5pc2goKSAhPSBTUElf T0tfRklOSVNIKQorCQllbG9nKEVSUk9SLCAiU1BJX2ZpbmlzaCBmYWlsZWQiKTsKKworCXRhYmxl X2Nsb3NlKGZrX3JlbCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlyZXR1cm4gUG9pbnRlckdldERh dHVtKE5VTEwpOworfQorCisvKgorICogUklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwgLQorICoK KyAqIFNldCBmb3JlaWduIGtleSByZWZlcmVuY2VzIHRvIE5VTEwgdmFsdWVzIGF0IGRlbGV0ZSBl dmVudCBvbiBQSyB0YWJsZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfZGVs KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJp Z2dlciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdn ZXIoZmNpbmZvLCAiUklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwiLCBSSV9UUklHVFlQRV9ERUxF VEUpOworCisJLyogU2hhcmUgY29kZSB3aXRoIFVQREFURSBjYXNlICovCisJcmV0dXJuIHRyaV9z ZXQoKFRyaWdnZXJEYXRhICopIGZjaW5mby0+Y29udGV4dCwgdHJ1ZSwgUklfVFJJR1RZUEVfREVM RVRFKTsKK30KKworLyoKKyAqIFJJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkIC0KKyAqCisgKiBT ZXQgZm9yZWlnbiBrZXkgcmVmZXJlbmNlcyB0byBOVUxMIGF0IHVwZGF0ZSBldmVudCBvbiBQSyB0 YWJsZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9u IHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIoZmNpbmZvLCAi UklfRktleV9wZXJpb2Rfc2V0bnVsbF91cGQiLCBSSV9UUklHVFlQRV9VUERBVEUpOworCisJLyog U2hhcmUgY29kZSB3aXRoIERFTEVURSBjYXNlICovCisJcmV0dXJuIHRyaV9zZXQoKFRyaWdnZXJE YXRhICopIGZjaW5mby0+Y29udGV4dCwgdHJ1ZSwgUklfVFJJR1RZUEVfVVBEQVRFKTsKK30KKwor LyoKKyAqIFJJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsIC0KKyAqCisgKiBTZXQgZm9yZWln biBrZXkgcmVmZXJlbmNlcyB0byBkZWZhdWx0cyBhdCBkZWxldGUgZXZlbnQgb24gUEsgdGFibGUu CisgKi8KK0RhdHVtCitSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbChQR19GVU5DVElPTl9B UkdTKQoreworCS8qIENoZWNrIHRoYXQgdGhpcyBpcyBhIHZhbGlkIHRyaWdnZXIgY2FsbCBvbiB0 aGUgcmlnaHQgdGltZSBhbmQgZXZlbnQuICovCisJcmlfQ2hlY2tUcmlnZ2VyKGZjaW5mbywgIlJJ X0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsIiwgUklfVFJJR1RZUEVfREVMRVRFKTsKKworCS8q IFNoYXJlIGNvZGUgd2l0aCBVUERBVEUgY2FzZSAqLworCXJldHVybiB0cmlfc2V0KChUcmlnZ2Vy RGF0YSAqKSBmY2luZm8tPmNvbnRleHQsIGZhbHNlLCBSSV9UUklHVFlQRV9ERUxFVEUpOworfQor CisvKgorICogUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF91cGQgLQorICoKKyAqIFNldCBmb3Jl aWduIGtleSByZWZlcmVuY2VzIHRvIGRlZmF1bHRzIGF0IHVwZGF0ZSBldmVudCBvbiBQSyB0YWJs ZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfdXBkKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9u IHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIoZmNpbmZvLCAi UklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF91cGQiLCBSSV9UUklHVFlQRV9VUERBVEUpOworCisJ LyogU2hhcmUgY29kZSB3aXRoIERFTEVURSBjYXNlICovCisJcmV0dXJuIHRyaV9zZXQoKFRyaWdn ZXJEYXRhICopIGZjaW5mby0+Y29udGV4dCwgZmFsc2UsIFJJX1RSSUdUWVBFX1VQREFURSk7Cit9 CisKKy8qCisgKiB0cmlfc2V0IC0KKyAqCisgKiBDb21tb24gY29kZSBmb3IgdGVtcG9yYWwgT04g REVMRVRFIFNFVCBOVUxMLCBPTiBERUxFVEUgU0VUIERFRkFVTFQsIE9OCisgKiBVUERBVEUgU0VU IE5VTEwsIGFuZCBPTiBVUERBVEUgU0VUIERFRkFVTFQuCisgKi8KK3N0YXRpYyBEYXR1bQordHJp X3NldChUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEsIGJvb2wgaXNfc2V0X251bGwsIGludCB0Z2tpbmQp Cit7CisJY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbzsKKwlSZWxhdGlvbglma19yZWw7 CisJUmVsYXRpb24JcGtfcmVsOworCVR1cGxlVGFibGVTbG90ICpvbGRzbG90OworCVJJX1F1ZXJ5 S2V5IHFrZXk7CisJU1BJUGxhblB0cglxcGxhbjsKKwlEYXR1bQkJdGFyZ2V0UmFuZ2U7CisJaW50 MzIJCXF1ZXJ5bm87CisKKwlyaWluZm8gPSByaV9GZXRjaENvbnN0cmFpbnRJbmZvKHRyaWdkYXRh LT50Z190cmlnZ2VyLAorCQkJCQkJCQkJdHJpZ2RhdGEtPnRnX3JlbGF0aW9uLCB0cnVlKTsKKwor CS8qCisJICogR2V0IHRoZSByZWxhdGlvbiBkZXNjcmlwdG9ycyBvZiB0aGUgRksgYW5kIFBLIHRh YmxlcyBhbmQgdGhlIG9sZCB0dXBsZS4KKwkgKgorCSAqIGZrX3JlbCBpcyBvcGVuZWQgaW4gUm93 RXhjbHVzaXZlTG9jayBtb2RlIHNpbmNlIHRoYXQncyB3aGF0IG91cgorCSAqIGV2ZW50dWFsIFVQ REFURSB3aWxsIGdldCBvbiBpdC4KKwkgKi8KKwlma19yZWwgPSB0YWJsZV9vcGVuKHJpaW5mby0+ ZmtfcmVsaWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworCXBrX3JlbCA9IHRyaWdkYXRhLT50Z19yZWxh dGlvbjsKKwlvbGRzbG90ID0gdHJpZ2RhdGEtPnRnX3RyaWdzbG90OworCisJLyoKKwkgKiBEb24n dCBTRVQgTlVMTC9ERUZBVUxUIG1vcmUgdGhhbiB0aGUgUEsncyBkdXJhdGlvbiwgdHJpbW1lZCBi eSBhbgorCSAqIG9yaWdpbmFsIEZPUiBQT1JUSU9OIE9GIGlmIG5lY2Vzc2FyeS4KKwkgKi8KKwl0 YXJnZXRSYW5nZSA9IHJlc3RyaWN0X2VuZm9yY2VkX3JhbmdlKHRyaWdkYXRhLT50Z190ZW1wb3Jh bCwgcmlpbmZvLCBvbGRzbG90KTsKKworCWlmIChTUElfY29ubmVjdCgpICE9IFNQSV9PS19DT05O RUNUKQorCQllbG9nKEVSUk9SLCAiU1BJX2Nvbm5lY3QgZmFpbGVkIik7CisKKwkvKgorCSAqIEZl dGNoIG9yIHByZXBhcmUgYSBzYXZlZCBwbGFuIGZvciB0aGUgdHJpZ2dlci4KKwkgKi8KKwlzd2l0 Y2ggKHRna2luZCkKKwl7CisJCWNhc2UgUklfVFJJR1RZUEVfVVBEQVRFOgorCQkJcXVlcnlubyA9 IGlzX3NldF9udWxsCisJCQkJPyBSSV9QTEFOX1BFUklPRF9TRVROVUxMX09OVVBEQVRFCisJCQkJ OiBSSV9QTEFOX1BFUklPRF9TRVRERUZBVUxUX09OVVBEQVRFOworCQkJYnJlYWs7CisJCWNhc2Ug UklfVFJJR1RZUEVfREVMRVRFOgorCQkJcXVlcnlubyA9IGlzX3NldF9udWxsCisJCQkJPyBSSV9Q TEFOX1BFUklPRF9TRVROVUxMX09OREVMRVRFCisJCQkJOiBSSV9QTEFOX1BFUklPRF9TRVRERUZB VUxUX09OREVMRVRFOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllbG9nKEVSUk9SLCAiaW52 YWxpZCB0Z2tpbmQgcGFzc2VkIHRvIHJpX3NldCIpOworCX0KKworCXJpX0J1aWxkUXVlcnlLZXko JnFrZXksIHJpaW5mbywgcXVlcnlubyk7CisKKwlpZiAoKHFwbGFuID0gcmlfRmV0Y2hQcmVwYXJl ZFBsYW4oJnFrZXkpKSA9PSBOVUxMKQorCXsKKwkJU3RyaW5nSW5mb0RhdGEgcXVlcnlidWY7CisJ CVN0cmluZ0luZm9EYXRhIHF1YWxidWY7CisJCWNoYXIJCWZrcmVsbmFtZVtNQVhfUVVPVEVEX1JF TF9OQU1FX0xFTl07CisJCWNoYXIJCWF0dG5hbWVbTUFYX1FVT1RFRF9OQU1FX0xFTl07CisJCWNo YXIJCXBhcmFtbmFtZVsxNl07CisJCWNvbnN0IGNoYXIgKnF1ZXJ5c2VwOworCQljb25zdCBjaGFy ICpxdWFsc2VwOworCQlPaWQJCQlxdWVyeW9pZHNbUklfTUFYX05VTUtFWVMgKyAxXTsJLyogKzEg Zm9yIEZPUiBQT1JUSU9OIE9GICovCisJCWNvbnN0IGNoYXIgKmZrX29ubHk7CisJCWludAkJCW51 bV9jb2xzX3RvX3NldDsKKwkJY29uc3QgaW50MTYgKnNldF9jb2xzOworCisJCXN3aXRjaCAodGdr aW5kKQorCQl7CisJCQljYXNlIFJJX1RSSUdUWVBFX1VQREFURToKKwkJCQkvKiAtMSBzbyB3ZSBs ZXQgRk9SIFBPUlRJT04gT0Ygc2V0IHRoZSByYW5nZS4gKi8KKwkJCQludW1fY29sc190b19zZXQg PSByaWluZm8tPm5rZXlzIC0gMTsKKwkJCQlzZXRfY29scyA9IHJpaW5mby0+ZmtfYXR0bnVtczsK KwkJCQlicmVhazsKKwkJCWNhc2UgUklfVFJJR1RZUEVfREVMRVRFOgorCisJCQkJLyoKKwkJCQkg KiBJZiBjb25mZGVsc2V0Y29scyBhcmUgcHJlc2VudCwgdGhlbiB3ZSBvbmx5IHVwZGF0ZSB0aGUK KwkJCQkgKiBjb2x1bW5zIHNwZWNpZmllZCBpbiB0aGF0IGFycmF5LCBvdGhlcndpc2Ugd2UgdXBk YXRlIGFsbAorCQkJCSAqIHRoZSByZWZlcmVuY2luZyBjb2x1bW5zLgorCQkJCSAqLworCQkJCWlm IChyaWluZm8tPm5kZWxzZXRjb2xzICE9IDApCisJCQkJeworCQkJCQludW1fY29sc190b19zZXQg PSByaWluZm8tPm5kZWxzZXRjb2xzOworCQkJCQlzZXRfY29scyA9IHJpaW5mby0+Y29uZmRlbHNl dGNvbHM7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCS8qIC0xIHNvIHdlIGxldCBGT1Ig UE9SVElPTiBPRiBzZXQgdGhlIHJhbmdlLiAqLworCQkJCQludW1fY29sc190b19zZXQgPSByaWlu Zm8tPm5rZXlzIC0gMTsKKwkJCQkJc2V0X2NvbHMgPSByaWluZm8tPmZrX2F0dG51bXM7CisJCQkJ fQorCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQllbG9nKEVSUk9SLCAiaW52YWxpZCB0Z2tp bmQgcGFzc2VkIHRvIHJpX3NldCIpOworCQl9CisKKwkJLyogLS0tLS0tLS0tLQorCQkgKiBUaGUg cXVlcnkgc3RyaW5nIGJ1aWx0IGlzCisJCSAqCVVQREFURSBbT05MWV0gPGZrdGFibGU+CisJCSAq CQkJRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgke24rMX0pCisJCSAqCQkJU0VUIGZrYXR0MSA9IHtO VUxMfERFRkFVTFR9IFssIC4uLl0KKwkJICoJCQlXSEVSRSAkMSA9IGZrYXR0MSBbQU5EIC4uLl0K KwkJICogVGhlIHR5cGUgaWQncyBmb3IgdGhlICQgcGFyYW1ldGVycyBhcmUgdGhvc2Ugb2YgdGhl CisJCSAqIGNvcnJlc3BvbmRpbmcgUEsgYXR0cmlidXRlcy4KKwkJICogLS0tLS0tLS0tLQorCQkg Ki8KKwkJaW5pdFN0cmluZ0luZm8oJnF1ZXJ5YnVmKTsKKwkJaW5pdFN0cmluZ0luZm8oJnF1YWxi dWYpOworCQlma19vbmx5ID0gZmtfcmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJU SVRJT05FRF9UQUJMRSA/CisJCQkiIiA6ICJPTkxZICI7CisJCXF1b3RlUmVsYXRpb25OYW1lKGZr cmVsbmFtZSwgZmtfcmVsKTsKKwkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsIFJJQXR0TmFtZShma19y ZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tyaWluZm8tPm5rZXlzIC0gMV0pKTsKKworCQlhcHBlbmRT dHJpbmdJbmZvKCZxdWVyeWJ1ZiwgIlVQREFURSAlcyVzIEZPUiBQT1JUSU9OIE9GICVzICgkJWQp IFNFVCIsCisJCQkJCQkgZmtfb25seSwgZmtyZWxuYW1lLCBhdHRuYW1lLCByaWluZm8tPm5rZXlz ICsgMSk7CisKKwkJLyoKKwkJICogQWRkIGFzc2lnbm1lbnQgY2xhdXNlcworCQkgKi8KKwkJcXVl cnlzZXAgPSAiIjsKKwkJZm9yIChpbnQgaSA9IDA7IGkgPCBudW1fY29sc190b19zZXQ7IGkrKykK KwkJeworCQkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsIFJJQXR0TmFtZShma19yZWwsIHNldF9jb2xz W2ldKSk7CisJCQlhcHBlbmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwKKwkJCQkJCQkgIiVzICVzID0g JXMiLAorCQkJCQkJCSBxdWVyeXNlcCwgYXR0bmFtZSwKKwkJCQkJCQkgaXNfc2V0X251bGwgPyAi TlVMTCIgOiAiREVGQVVMVCIpOworCQkJcXVlcnlzZXAgPSAiLCI7CisJCX0KKworCQkvKgorCQkg KiBBZGQgV0hFUkUgY2xhdXNlCisJCSAqLworCQlxdWFsc2VwID0gIldIRVJFIjsKKwkJZm9yIChp bnQgaSA9IDA7IGkgPCByaWluZm8tPm5rZXlzOyBpKyspCisJCXsKKwkJCU9pZAkJCXBrX3R5cGUg PSBSSUF0dFR5cGUocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJZmtf dHlwZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlPaWQJ CQlwa19jb2xsID0gUklBdHRDb2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0p OworCQkJT2lkCQkJZmtfY29sbCA9IFJJQXR0Q29sbGF0aW9uKGZrX3JlbCwgcmlpbmZvLT5ma19h dHRudW1zW2ldKTsKKworCQkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsCisJCQkJCQkgUklBdHROYW1l KGZrX3JlbCwgcmlpbmZvLT5ma19hdHRudW1zW2ldKSk7CisKKwkJCXNwcmludGYocGFyYW1uYW1l LCAiJCVkIiwgaSArIDEpOworCQkJcmlfR2VuZXJhdGVRdWFsKCZxdWVyeWJ1ZiwgcXVhbHNlcCwK KwkJCQkJCQlwYXJhbW5hbWUsIHBrX3R5cGUsCisJCQkJCQkJcmlpbmZvLT5wZl9lcV9vcHJzW2ld LAorCQkJCQkJCWF0dG5hbWUsIGZrX3R5cGUpOworCQkJaWYgKHBrX2NvbGwgIT0gZmtfY29sbCAm JiAhZ2V0X2NvbGxhdGlvbl9pc2RldGVybWluaXN0aWMocGtfY29sbCkpCisJCQkJcmlfR2VuZXJh dGVRdWFsQ29sbGF0aW9uKCZxdWVyeWJ1ZiwgcGtfY29sbCk7CisJCQlxdWFsc2VwID0gIkFORCI7 CisJCQlxdWVyeW9pZHNbaV0gPSBwa190eXBlOworCQl9CisKKwkJLyogU2V0IGEgcGFyYW0gZm9y IEZPUiBQT1JUSU9OIE9GIFRPL0ZST00gKi8KKwkJcXVlcnlvaWRzW3JpaW5mby0+bmtleXNdID0g UklBdHRUeXBlKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW3JpaW5mby0+bmtleXMgLSAxXSk7 CisKKwkJLyogUHJlcGFyZSBhbmQgc2F2ZSB0aGUgcGxhbiAqLworCQlxcGxhbiA9IHJpX1BsYW5D aGVjayhxdWVyeWJ1Zi5kYXRhLCByaWluZm8tPm5rZXlzICsgMSwgcXVlcnlvaWRzLAorCQkJCQkJ CSAmcWtleSwgZmtfcmVsLCBwa19yZWwpOworCX0KKworCS8qCisJICogV2UgaGF2ZSBhIHBsYW4g bm93LiBSdW4gaXQgdG8gdXBkYXRlIHRoZSBleGlzdGluZyByZWZlcmVuY2VzLgorCSAqLworCXJp X1BlcmZvcm1DaGVjayhyaWluZm8sICZxa2V5LCBxcGxhbiwKKwkJCQkJZmtfcmVsLCBwa19yZWws CisJCQkJCW9sZHNsb3QsIE5VTEwsCisJCQkJCXJpaW5mby0+bmtleXMgKyAxLCB0YXJnZXRSYW5n ZSwKKwkJCQkJZmFsc2UsCisJCQkJCXRydWUsCQkvKiBtdXN0IGRldGVjdCBuZXcgcm93cyAqLwor CQkJCQlTUElfT0tfVVBEQVRFKTsKKworCWlmIChTUElfZmluaXNoKCkgIT0gU1BJX09LX0ZJTklT SCkKKwkJZWxvZyhFUlJPUiwgIlNQSV9maW5pc2ggZmFpbGVkIik7CisKKwl0YWJsZV9jbG9zZShm a19yZWwsIFJvd0V4Y2x1c2l2ZUxvY2spOworCisJaWYgKGlzX3NldF9udWxsKQorCQlyZXR1cm4g UG9pbnRlckdldERhdHVtKE5VTEwpOworCWVsc2UKKwl7CisJCS8qCisJCSAqIElmIHdlIGp1c3Qg ZGVsZXRlZCBvciB1cGRhdGVkIHRoZSBQSyByb3cgd2hvc2Uga2V5IHdhcyBlcXVhbCB0byB0aGUK KwkJICogRksgY29sdW1ucycgZGVmYXVsdCB2YWx1ZXMsIGFuZCBhIHJlZmVyZW5jaW5nIHJvdyBl eGlzdHMgaW4gdGhlIEZLCisJCSAqIHRhYmxlLCB3ZSB3b3VsZCBoYXZlIHVwZGF0ZWQgdGhhdCBy b3cgdG8gdGhlIHNhbWUgdmFsdWVzIGl0IGFscmVhZHkKKwkJICogaGFkIC0tLSBhbmQgUklfRktl eV9ma191cGRfY2hlY2tfcmVxdWlyZWQgd291bGQgaGVuY2UgYmVsaWV2ZSBubworCQkgKiBjaGVj ayBpcyBuZWNlc3NhcnkuICBTbyB3ZSBuZWVkIHRvIGRvIGFub3RoZXIgbG9va3VwIG5vdyBhbmQg aW4KKwkJICogY2FzZSBhIHJlZmVyZW5jZSBzdGlsbCBleGlzdHMsIGFib3J0IHRoZSBvcGVyYXRp b24uICBUaGF0IGlzCisJCSAqIGFscmVhZHkgaW1wbGVtZW50ZWQgaW4gdGhlIE5PIEFDVElPTiB0 cmlnZ2VyLCBzbyBqdXN0IHJ1biBpdC4gKFRoaXMKKwkJICogcmVjaGVjayBpcyBvbmx5IG5lZWRl ZCBpbiB0aGUgU0VUIERFRkFVTFQgY2FzZSwgc2luY2UgQ0FTQ0FERSB3b3VsZAorCQkgKiByZW1v dmUgc3VjaCByb3dzIGluIGNhc2Ugb2YgYSBERUxFVEUgb3BlcmF0aW9uIG9yIHdvdWxkIGNoYW5n ZSB0aGUKKwkJICogRksga2V5IHZhbHVlcyBpbiBjYXNlIG9mIGFuIFVQREFURSwgd2hpbGUgU0VU IE5VTEwgaXMgY2VydGFpbiB0bworCQkgKiByZXN1bHQgaW4gcm93cyB0aGF0IHNhdGlzZnkgdGhl IEZLIGNvbnN0cmFpbnQuKQorCQkgKi8KKwkJcmV0dXJuIHJpX3Jlc3RyaWN0KHRyaWdkYXRhLCB0 cnVlKTsKKwl9Cit9CisKIC8qCiAgKiBSSV9GS2V5X3BrX3VwZF9jaGVja19yZXF1aXJlZCAtCiAg KgpAQCAtMjQ4Nyw2ICszMDQwLDcgQEAgcmlfUGVyZm9ybUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFp bnRJbmZvICpyaWluZm8sCiAJCQkJUklfUXVlcnlLZXkgKnFrZXksIFNQSVBsYW5QdHIgcXBsYW4s CiAJCQkJUmVsYXRpb24gZmtfcmVsLCBSZWxhdGlvbiBwa19yZWwsCiAJCQkJVHVwbGVUYWJsZVNs b3QgKm9sZHNsb3QsIFR1cGxlVGFibGVTbG90ICpuZXdzbG90LAorCQkJCWludCBwZXJpb2RQYXJh bSwgRGF0dW0gcGVyaW9kLAogCQkJCWJvb2wgaXNfcmVzdHJpY3QsCiAJCQkJYm9vbCBkZXRlY3RO ZXdSb3dzLCBpbnQgZXhwZWN0X09LKQogewpAQCAtMjQ5OSw4ICszMDUzLDggQEAgcmlfUGVyZm9y bUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm8sCiAJaW50CQkJc3BpX3Jlc3Vs dDsKIAlPaWQJCQlzYXZlX3VzZXJpZDsKIAlpbnQJCQlzYXZlX3NlY19jb250ZXh0OwotCURhdHVt CQl2YWxzW1JJX01BWF9OVU1LRVlTICogMl07Ci0JY2hhcgkJbnVsbHNbUklfTUFYX05VTUtFWVMg KiAyXTsKKwlEYXR1bQkJdmFsc1tSSV9NQVhfTlVNS0VZUyAqIDIgKyAxXTsKKwljaGFyCQludWxs c1tSSV9NQVhfTlVNS0VZUyAqIDIgKyAxXTsKIAogCS8qCiAJICogVXNlIHRoZSBxdWVyeSB0eXBl IGNvZGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHF1ZXJ5IGlzIHJ1biBhZ2FpbnN0CkBAIC0y NTQzLDYgKzMwOTcsMTIgQEAgcmlfUGVyZm9ybUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZv ICpyaWluZm8sCiAJCXJpX0V4dHJhY3RWYWx1ZXMoc291cmNlX3JlbCwgb2xkc2xvdCwgcmlpbmZv LCBzb3VyY2VfaXNfcGssCiAJCQkJCQkgdmFscywgbnVsbHMpOwogCX0KKwkvKiBBZGQvcmVwbGFj ZSBhIHF1ZXJ5IHBhcmFtIGZvciB0aGUgUEVSSU9EIGlmIG5lZWRlZCAqLworCWlmIChwZXJpb2Qp CisJeworCQl2YWxzW3BlcmlvZFBhcmFtIC0gMV0gPSBwZXJpb2Q7CisJCW51bGxzW3BlcmlvZFBh cmFtIC0gMV0gPSAnICc7CisJfQogCiAJLyoKIAkgKiBJbiBSRUFEIENPTU1JVFRFRCBtb2RlLCB3 ZSBqdXN0IG5lZWQgdG8gdXNlIGFuIHVwLXRvLWRhdGUgcmVndWxhcgpAQCAtMzIyMyw2ICszNzgz LDEyIEBAIFJJX0ZLZXlfdHJpZ2dlcl90eXBlKE9pZCB0Z2ZvaWQpCiAJCWNhc2UgRl9SSV9GS0VZ X1NFVERFRkFVTFRfVVBEOgogCQljYXNlIEZfUklfRktFWV9OT0FDVElPTl9ERUw6CiAJCWNhc2Ug Rl9SSV9GS0VZX05PQUNUSU9OX1VQRDoKKwkJY2FzZSBGX1JJX0ZLRVlfUEVSSU9EX0NBU0NBREVf REVMOgorCQljYXNlIEZfUklfRktFWV9QRVJJT0RfQ0FTQ0FERV9VUEQ6CisJCWNhc2UgRl9SSV9G S0VZX1BFUklPRF9TRVROVUxMX0RFTDoKKwkJY2FzZSBGX1JJX0ZLRVlfUEVSSU9EX1NFVE5VTExf VVBEOgorCQljYXNlIEZfUklfRktFWV9QRVJJT0RfU0VUREVGQVVMVF9ERUw6CisJCWNhc2UgRl9S SV9GS0VZX1BFUklPRF9TRVRERUZBVUxUX1VQRDoKIAkJCXJldHVybiBSSV9UUklHR0VSX1BLOwog CiAJCWNhc2UgRl9SSV9GS0VZX0NIRUNLX0lOUzoKQEAgLTMyMzIsMyArMzc5OCw1MCBAQCBSSV9G S2V5X3RyaWdnZXJfdHlwZShPaWQgdGdmb2lkKQogCiAJcmV0dXJuIFJJX1RSSUdHRVJfTk9ORTsK IH0KKworLyoKKyAqIGZwb190YXJnZXRzX3BrX3JhbmdlCisgKgorICogUmV0dXJucyB0cnVlIGlm ZiB0aGUgcHJpbWFyeSBrZXkgcmVmZXJlbmNlZCBieSByaWluZm8gaW5jbHVkZXMgdGhlIHJhbmdl CisgKiBjb2x1bW4gdGFyZ2V0ZWQgYnkgdGhlIEZPUiBQT1JUSU9OIE9GIGNsYXVzZSAoYWNjb3Jk aW5nIHRvIHRnX3RlbXBvcmFsKS4KKyAqLworc3RhdGljIGJvb2wKK2Zwb190YXJnZXRzX3BrX3Jh bmdlKGNvbnN0IEZvclBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbCwgY29uc3QgUklfQ29uc3Ry YWludEluZm8gKnJpaW5mbykKK3sKKwlpZiAodGdfdGVtcG9yYWwgPT0gTlVMTCkKKwkJcmV0dXJu IGZhbHNlOworCisJcmV0dXJuIHJpaW5mby0+cGtfYXR0bnVtc1tyaWluZm8tPm5rZXlzIC0gMV0g PT0gdGdfdGVtcG9yYWwtPmZwX3JhbmdlQXR0bm87Cit9CisKKy8qCisgKiByZXN0cmljdF9lbmZv cmNlZF9yYW5nZSAtCisgKgorICogUmV0dXJucyBhIERhdHVtIG9mIFJhbmdlVHlwZVAgaG9sZGlu ZyB0aGUgYXBwcm9wcmlhdGUgdGltZXNwYW4KKyAqIHRvIHRhcmdldCBjaGlsZCByZWNvcmRzIHdo ZW4gd2UgUkVTVFJJQ1QvQ0FTQ0FERS9TRVQgTlVMTC9TRVQgREVGQVVMVC4KKyAqCisgKiBJbiBh IG5vcm1hbCBVUERBVEUvREVMRVRFIHRoaXMgc2hvdWxkIGJlIHRoZSByZWZlcmVuY2VkIHJvdydz IG93biB2YWxpZCB0aW1lLAorICogYnV0IGlmIHRoZXJlIHdhcyBhIEZPUiBQT1JUSU9OIE9GIGNs YXVzZSwgdGhlbiB3ZSBzaG91bGQgdXNlIHRoYXQgdG8KKyAqIHRyaW0gZG93biB0aGUgc3BhbiBm dXJ0aGVyLgorICovCitzdGF0aWMgRGF0dW0KK3Jlc3RyaWN0X2VuZm9yY2VkX3JhbmdlKGNvbnN0 IEZvclBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbCwgY29uc3QgUklfQ29uc3RyYWludEluZm8g KnJpaW5mbywgVHVwbGVUYWJsZVNsb3QgKm9sZHNsb3QpCit7CisJRGF0dW0JCXBrUmVjb3JkUmFu Z2U7CisJYm9vbAkJaXNudWxsOworCUF0dHJOdW1iZXIJYXR0bm8gPSByaWluZm8tPnBrX2F0dG51 bXNbcmlpbmZvLT5ua2V5cyAtIDFdOworCisJcGtSZWNvcmRSYW5nZSA9IHNsb3RfZ2V0YXR0cihv bGRzbG90LCBhdHRubywgJmlzbnVsbCk7CisJaWYgKGlzbnVsbCkKKwkJZWxvZyhFUlJPUiwgImFw cGxpY2F0aW9uIHRpbWUgc2hvdWxkIG5vdCBiZSBudWxsIik7CisKKwlpZiAoZnBvX3RhcmdldHNf cGtfcmFuZ2UodGdfdGVtcG9yYWwsIHJpaW5mbykpCisJeworCQlpZiAoIU9pZElzVmFsaWQocmlp bmZvLT5wZXJpb2RfaW50ZXJzZWN0X3Byb2MpKQorCQkJZWxvZyhFUlJPUiwgImludmFsaWQgaW50 ZXJzZWN0IHN1cHBvcnQgZnVuY3Rpb24iKTsKKworCQlyZXR1cm4gT2lkRnVuY3Rpb25DYWxsMihy aWluZm8tPnBlcmlvZF9pbnRlcnNlY3RfcHJvYywgcGtSZWNvcmRSYW5nZSwgdGdfdGVtcG9yYWwt PmZwX3RhcmdldFJhbmdlKTsKKwl9CisJZWxzZQorCQlyZXR1cm4gcGtSZWNvcmRSYW5nZTsKK30K ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDI3OTA3YTg2NDUyLi4zODc3ZmUwZmI2YiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC00MTIwLDYgKzQxMjAsMjggQEAKICAgcHJvcmV0dHlw ZSA9PiAndHJpZ2dlcicsIHByb2FyZ3R5cGVzID0+ICcnLAogICBwcm9zcmMgPT4gJ1JJX0ZLZXlf bm9hY3Rpb25fdXBkJyB9LAogCisjIFRlbXBvcmFsIHJlZmVyZW50aWFsIGludGVncml0eSBjb25z dHJhaW50IHRyaWdnZXJzCit7IG9pZCA9PiAnNjEyNCcsIGRlc2NyID0+ICd0ZW1wb3JhbCByZWZl cmVudGlhbCBpbnRlZ3JpdHkgT04gREVMRVRFIENBU0NBREUnLAorICBwcm9uYW1lID0+ICdSSV9G S2V5X3BlcmlvZF9jYXNjYWRlX2RlbCcsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcmV0dHlwZSA9 PiAndHJpZ2dlcicsCisgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9zcmMgPT4gJ1JJX0ZLZXlfcGVy aW9kX2Nhc2NhZGVfZGVsJyB9LAoreyBvaWQgPT4gJzYxMjUnLCBkZXNjciA9PiAndGVtcG9yYWwg cmVmZXJlbnRpYWwgaW50ZWdyaXR5IE9OIFVQREFURSBDQVNDQURFJywKKyAgcHJvbmFtZSA9PiAn UklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQnLCBwcm92b2xhdGlsZSA9PiAndicsIHByb3JldHR5 cGUgPT4gJ3RyaWdnZXInLAorICBwcm9hcmd0eXBlcyA9PiAnJywgcHJvc3JjID0+ICdSSV9GS2V5 X3BlcmlvZF9jYXNjYWRlX3VwZCcgfSwKK3sgb2lkID0+ICc2MTI4JywgZGVzY3IgPT4gJ3RlbXBv cmFsIHJlZmVyZW50aWFsIGludGVncml0eSBPTiBERUxFVEUgU0VUIE5VTEwnLAorICBwcm9uYW1l ID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRudWxsX2RlbCcsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJv cmV0dHlwZSA9PiAndHJpZ2dlcicsCisgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9zcmMgPT4gJ1JJ X0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsJyB9LAoreyBvaWQgPT4gJzYxMjknLCBkZXNjciA9PiAn dGVtcG9yYWwgcmVmZXJlbnRpYWwgaW50ZWdyaXR5IE9OIFVQREFURSBTRVQgTlVMTCcsCisgIHBy b25hbWUgPT4gJ1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkJywgcHJvdm9sYXRpbGUgPT4gJ3Yn LCBwcm9yZXR0eXBlID0+ICd0cmlnZ2VyJywKKyAgcHJvYXJndHlwZXMgPT4gJycsIHByb3NyYyA9 PiAnUklfRktleV9wZXJpb2Rfc2V0bnVsbF91cGQnIH0sCit7IG9pZCA9PiAnNjEzMCcsIGRlc2Ny ID0+ICd0ZW1wb3JhbCByZWZlcmVudGlhbCBpbnRlZ3JpdHkgT04gREVMRVRFIFNFVCBERUZBVUxU JywKKyAgcHJvbmFtZSA9PiAnUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwnLCBwcm92b2xh dGlsZSA9PiAndicsCisgIHByb3JldHR5cGUgPT4gJ3RyaWdnZXInLCBwcm9hcmd0eXBlcyA9PiAn JywKKyAgcHJvc3JjID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbCcgfSwKK3sgb2lk ID0+ICc2MTMxJywgZGVzY3IgPT4gJ3RlbXBvcmFsIHJlZmVyZW50aWFsIGludGVncml0eSBPTiBV UERBVEUgU0VUIERFRkFVTFQnLAorICBwcm9uYW1lID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRkZWZh dWx0X3VwZCcsIHByb3ZvbGF0aWxlID0+ICd2JywKKyAgcHJvcmV0dHlwZSA9PiAndHJpZ2dlcics IHByb2FyZ3R5cGVzID0+ICcnLAorICBwcm9zcmMgPT4gJ1JJX0ZLZXlfcGVyaW9kX3NldGRlZmF1 bHRfdXBkJyB9LAorCiB7IG9pZCA9PiAnMTY2NicsCiAgIHByb25hbWUgPT4gJ3ZhcmJpdGVxJywg cHJvbGVha3Byb29mID0+ICd0JywgcHJvcmV0dHlwZSA9PiAnYm9vbCcsCiAgIHByb2FyZ3R5cGVz ID0+ICd2YXJiaXQgdmFyYml0JywgcHJvc3JjID0+ICdiaXRlcScgfSwKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvYnRyZWVfaW5kZXgub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9idHJlZV9pbmRleC5vdXQKaW5kZXggMjFkYzliNTc4M2EuLmMzYmY5NDc5N2U3 IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2J0cmVlX2luZGV4Lm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2J0cmVlX2luZGV4Lm91dApAQCAtNDU0LDE0 ICs0NTQsMTcgQEAgc2VsZWN0IHByb25hbWUgZnJvbSBwZ19wcm9jIHdoZXJlIHByb25hbWUgbGlr ZSBFJ1JJXFxfRktleSVkZWwnIG9yZGVyIGJ5IDE7CiAoMyByb3dzKQogCiBzZWxlY3QgcHJvbmFt ZSBmcm9tIHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSBsaWtlIEUnUklcXF9GS2V5JWRlbCcgb3JkZXIg YnkgMTsKLSAgICAgICAgcHJvbmFtZSAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgICAgICAgICAgICBwcm9uYW1lICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgUklfRktleV9jYXNjYWRlX2RlbAogIFJJX0ZLZXlfbm9hY3Rpb25fZGVsCisg UklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwKKyBSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2Rl bAorIFJJX0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsCiAgUklfRktleV9yZXN0cmljdF9kZWwKICBS SV9GS2V5X3NldGRlZmF1bHRfZGVsCiAgUklfRktleV9zZXRudWxsX2RlbAotKDUgcm93cykKKyg4 IHJvd3MpCiAKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBwcm9uYW1lIGZyb20gcGdfcHJv YyB3aGVyZSBwcm9uYW1lIGlsaWtlICcwMCVmb28nIG9yZGVyIGJ5IDE7CkBAIC01MDAsMTQgKzUw MywxNyBAQCBzZWxlY3QgcHJvbmFtZSBmcm9tIHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSBsaWtlIEUn UklcXF9GS2V5JWRlbCcgb3JkZXIgYnkgMTsKICg2IHJvd3MpCiAKIHNlbGVjdCBwcm9uYW1lIGZy b20gcGdfcHJvYyB3aGVyZSBwcm9uYW1lIGxpa2UgRSdSSVxcX0ZLZXklZGVsJyBvcmRlciBieSAx OwotICAgICAgICBwcm9uYW1lICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAg ICAgICAgICAgIHByb25hbWUgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICBSSV9GS2V5X2Nhc2NhZGVfZGVsCiAgUklfRktleV9ub2FjdGlvbl9kZWwKKyBSSV9G S2V5X3BlcmlvZF9jYXNjYWRlX2RlbAorIFJJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsCisg UklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwKICBSSV9GS2V5X3Jlc3RyaWN0X2RlbAogIFJJX0ZL ZXlfc2V0ZGVmYXVsdF9kZWwKICBSSV9GS2V5X3NldG51bGxfZGVsCi0oNSByb3dzKQorKDggcm93 cykKIAogZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0IHByb25hbWUgZnJvbSBwZ19wcm9jIHdo ZXJlIHByb25hbWUgaWxpa2UgJzAwJWZvbycgb3JkZXIgYnkgMTsKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0CmluZGV4IDQwMTU1MGI1NDgyLi40ZDlm MjVhYzQwNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292 ZXJsYXBzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3Zlcmxh cHMub3V0CkBAIC0xOTQ3LDcgKzE5NDcsMjQgQEAgRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBERUxF VEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAogLS0KIC0t IHJuZzJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCistLSBUT0M6CistLSBy ZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUK Ky0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNF VCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQg ZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBz Y2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNv bHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0t IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkK Ky0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZl cmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQg c3Vic2V0KQorLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tCiBU UlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKQEAgLTE5NTYsMjkgKzE5 NzMsNTkzIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9y bmcKICAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKLUVSUk9SOiAgdW5z dXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2lu ZyBQRVJJT0QKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3Ju ZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KQorIFsx MDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs3LDgpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkp Jyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTApCisgWzIwMCwyMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcs IHRlbXBvcmFsX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVs ZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2F0IHwgcGFyZW50X2lkIAorLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5j ZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSkgfCBbOCw5KQorKDEgcm93KQorCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVw ZGF0ZXMgU0VUIE5VTEwKKy0tCiBUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3Ju ZzJybmc7CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYs NyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBE QVRFIFNFVCBOVUxMOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBm b3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorLS0gbGVmdG92ZXJzIG9uIGJvdGgg c2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsx MDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgCisoMyByb3dzKQorCistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlk ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFy ZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzIwMCwyMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5n LCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBb MjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEt MDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAx LDIwMjAtMDEtMDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAK KygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBX SEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsyMDAs MjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCiAt LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0KIFRSVU5DQVRFIHRl bXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwp KTsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwogSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScp OwogQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICBBTFRFUiBDT0xVTU4gcGFyZW50 X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBE RUZBVUxUOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWdu IGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6 CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2 LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8 IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWy0xLDApCiso MyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9 ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEp IHwgWy0xLDApCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQor KDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU CistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRl cmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSkgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBD QVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVt cG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBDQVND QURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERB VEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEp JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsy MDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykK KworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQy IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzcs OCkgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBv cmFsX3JuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTAp ICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5 KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVs ZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5n MiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYs NyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0w MS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykg ICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3 KSAgICAgIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyBpZCB8IHZhbGlkX2F0IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorKDAgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgs OSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBb OCw5KSAgICAgIHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxf cm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChp ZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAn WzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERF TEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMg cm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQx ID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAg ICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAg ICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAg ICAgIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIg U0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAor IFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkp CisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9m azJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9h dCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScpOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBb MTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQor KDMgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcy IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAg ICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAK KyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAx LTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5V TEwgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcy cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNh dXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBV UERBVEUgU0VUIE5VTEw7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4g T04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Ju ZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAx LDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEt MDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9u LUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs IGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAx LDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEt MDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFd JywgJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBB TFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENP TFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRF IFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAn WzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9y bmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0x LDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlk MSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEs MCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFstMSwwKSAgICAgfCBb LTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwg Wy0xLDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp IHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0 ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywg ZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAx KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3 KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9y bmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQy IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2 LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk MSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIw LTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9z cyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50 X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0x LDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0 KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEs LTFdJywgJ1s2LDcpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyks ICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQ RVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgQUxURVIg Q09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CitFUlJPUjog IGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fu bm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZwor ICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50 X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAg IE9OIERFTEVURSBTRVQgREVGQVVMVCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBERUZBVUxU OworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAx JyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAg IHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAg ICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykg ICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEp IHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0w MSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFstMSwwKSAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFs4LDkpCisgWzIw MCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygy IHJvd3MpCisKIC0tCiAtLSB0ZXN0IEZPUkVJR04gS0VZLCBtdWx0aXJhbmdlIHJlZmVyZW5jZXMg bXVsdGlyYW5nZQogLS0KQEAgLTI0MTMsNiArMjk5NCw2MjYgQEAgREVUQUlMOiAgS2V5IChpZCwg dmFsaWRfYXQpPShbNSw2KSwge1syMDE4LTAxLTAxLDIwMTgtMDEtMDIpLFsyMDE4LTAxLTAzLDIw MTgtMDIKIERFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzMsNCknOwogREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBB TkQgdmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAx OC0wMi0wMScpKTsKIC0tCistLQorLS0gbWx0cm5nMm1sdHJuZyB0ZXN0IE9OIFVQREFURS9ERUxF VEUgb3B0aW9ucworLS0KKy0tIFRPQzoKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgdXBkYXRl cyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLSByZWZl cmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBk ZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxM ICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBz Y2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBE RUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAo dHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2 LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nCisgICAgT04g REVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAg ICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2 LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAg ICAgICAgICAgICB8IFs3LDgpCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAg ICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKX0gfCBbNyw4KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIw LTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbNyw4KQorKDIgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzksMTAp JyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAw LDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEt MDEpfSB8IFs5LDEwKQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBb OCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIw LTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAg ICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3 KQorKDEgcm93KQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21s dHJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg aWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor KDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0 cm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFs aWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0w MS0wMSl9IHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRh dGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgU0VU IE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitV UERBVEUgdGVtcG9yYWxfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3 LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAg ICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KQorIFsx MDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAg ICAgfCAKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpfSB8IAorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAg ICAgICAgICAgICAgICAgfCAKKygyIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknKTsKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor IFsyMDAsMjAxKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAKKyBbMjAwLDIwMSkgfCB7 WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21s dHJuZywgdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21s dHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9N IHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0g bm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0w MSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgCisgWzIw MCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpCisoMiByb3dzKQorCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf bWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcK KyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nCisgICAg T04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEt MDEnKSkpIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRf YXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSl9IHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBub24tRlBPIHVw ZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIw MTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCiso MiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNF VCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgt MDEtMDEsMjAyMC0wMS0wMSl9IHwgWy0xLDApCisgWzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBv cmFsX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxs LCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEn LCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAg ICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9 IHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToK K0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2 YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKX0gfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0w MSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJu ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIw MSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp KSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBh cmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsyMDAsMjAxKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbLTEsMCkKKyBb MjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygyIHJvd3MpCisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNv bHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n X2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIENBU0NBREUgT04g VVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkMSA9ICdbNyw4KScgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSl9IHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IFs3LDgpICAgICAgfCBbNiw3 KQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5n MiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5 LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNyw4KSAgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAg ICAgIHwgWzcsOCkgICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOwor VVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgt MDEtMDEsMjAyMC0wMS0wMSl9IHwgWzksMTApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwge1sy MDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29s cykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkg VkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKX0gfCBbNiw3KSAgICAgIHwgWzYsNykKKygxIHJvdykKKworLS0gbm9uLUZQTyBkZWxl dGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwgdmFsaWRfYXQgfCBwYXJlbnRfaWQx IHwgcGFyZW50X2lkMiAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0w MS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVT ICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0 cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0g J1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAg dmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5 KQorKDEgcm93KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcy bWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxF VEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBp ZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAg ICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEp LFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgIHwgCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAx KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAg ICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4 LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf bWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsK K1VQREFURSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4 LTAxLTAxLDIwMjAtMDEtMDEpfSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkgfCB7WzIwMjAt MDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQor LS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykK Ky0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFy ZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKX0gfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAy MC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93 cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAy MC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93 cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAgICAgICAgICAgIHwgCisgWzIwMCwyMDEp IHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93 cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2Nh bGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcy LCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJu ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQx LCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBm YWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRy bmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBE RUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIE5VTEw7CitFUlJPUjogIGNv bHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90 IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmssCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9pZDEp IE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRf aWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAx LTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwgWzYsNykKKygyIHJv d3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKX0gfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEt MDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IFs2 LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzIwMCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8ICAgICAgICAgICAgfCBb OCw5KQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAg IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJu ZzIsIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNykn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcp Jyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xV TU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQ RVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04g REVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBh cmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3 KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKwor LS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s3 LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5 LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWy0xLDApCisg WzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAg ICAgICB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygyIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7 CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwx MCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2 YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWy0xLDApICAgICB8IFstMSww KQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAgIHwg WzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg REVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZzIs IHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJu ZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZh bGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0w MSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KSAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAg ICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1 cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAg ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg e1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKwor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAn WzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQx ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IHtb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzIwMCwyMDEp IHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93 cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28g c2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9t bHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbNiw3KScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3 KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknLCAnWzYs NyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nCisgIEFMVEVSIENPTFVNTiBw YXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAg T04gREVMRVRFIFNFVCBERUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBERUZBVUxUOwor RVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0 aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwt MV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmssCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVz OgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAo ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0w MSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbLTEsMCkgICAgIHwgWzYs NykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAg ICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAy MC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7 WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDAp ICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s4 LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRf aWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwg Wy0xLDApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0gRksgd2l0aCBhIGN1c3RvbSBy YW5nZSB0eXBlCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUp OworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IG15ZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9mazNfcm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgbXlkYXRlcmFu Z2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3Ju ZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmczIChpZCwgUEVS SU9EIHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzMgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBteWRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmszX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmczIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19y bmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs4LDkpCisgWzUsNikg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQorCitEUk9QIFRBQkxF IHRlbXBvcmFsX2ZrM19ybmcycm5nOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOworRFJPUCBU WVBFIG15ZGF0ZXJhbmdlOworLS0KIC0tIEZLIGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiBy YW5nZXMKIC0tCiBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nICgKQEAgLTI0 MjEsOCArMzYyMiw4IEBAIENSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKAog ICBuYW1lIHRleHQsCiAgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQogKSBQQVJUSVRJT04gQlkg TElTVCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRwMSBwYXJ0aXRpb24gT0YgdGVtcG9yYWxfcGFydGl0 aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdbNSw2KScsICdbNyw4 KScsICdbOSwxMCknLCAnWzExLDEyKScpOwotQ1JFQVRFIFRBQkxFIHRwMiBwYXJ0aXRpb24gT0Yg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMiwzKScsICdbNCw1KScs ICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEpJywgJ1sxMiwxMyknKTsKK0NSRUFURSBUQUJMRSB0 cDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgn WzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAn WzEzLDE0KScsICdbMTUsMTYpJywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1sy MywyNCknKTsKK0NSRUFURSBUQUJMRSB0cDIgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNykn LCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdb MTgsMTkpJywgJ1syMCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CiBJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCiAgICgn WzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25lJyksCiAg ICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAnb25lJyks CkBAIC0yNDM1LDggKzM2MzYsOCBAQCBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf Zmtfcm5nMnJuZyAoCiAgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu Z19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCiApIFBB UlRJVElPTiBCWSBMSVNUIChpZCk7Ci1DUkVBVEUgVEFCTEUgdGZrcDEgcGFydGl0aW9uIE9GIHRl bXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1sz LDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJyk7Ci1DUkVBVEUgVEFC TEUgdGZrcDIgcGFydGl0aW9uIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9S IFZBTFVFUyBJTiAoJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSkn LCAnWzEyLDEzKScpOworQ1JFQVRFIFRBQkxFIHRma3AxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdb NSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNikn LCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScpOworQ1JFQVRFIFRB QkxFIHRma3AyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZP UiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScs ICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAn WzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyBy ZWZlcmVuY2luZyBpbnNlcnRzCiAtLQpAQCAtMjQ3OCw3ICszNjc5LDcgQEAgVVBEQVRFIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTYtMDItMDEn LCAnMjAxNi0wMy0KIC0tIHNob3VsZCBmYWlsOgogVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTYtMDEtMDEnLCAnMjAxNi0wMi0wMScp CiAgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpOwotRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0 cDEiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmdfZmtfMSIgb24gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmciCitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRwMSIgdmlvbGF0ZXMgZm9y ZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19ma18y IiBvbiB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyIKIERFVEFJTDogIEtl eSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGls bCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmci LgogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KQEAg LTI0OTAsMzcgKzM2OTEsMTYyIEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbCiBERUxFVEUgRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9h dCA9IGRhdGVyYW5nZSgnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CiAtLSBzaG91bGQgZmFp bDoKIERFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsK LUVSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidHAxIiB2aW9sYXRlcyBmb3JlaWdu IGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrXzEiIG9u IHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIgorRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0cDEiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQg InRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmtfMiIgb24gdGFibGUgInRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX3JuZzJybmciCiBERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1 LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRh YmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIi4KIC0tCiAtLSBwYXJ0aXRpb25l ZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1s0LDUpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nCiAg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrLAogICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrCiAgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENB U0NBREU7Ci1FUlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24g a2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlk ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs0LDUpIHwgWzIwMTktMDEtMDEsMjAy MC0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3 KQorIFs0LDUpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKwor VVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8 IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFs0LDUpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIw MTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSkgfCBbNyw4KQorKDMgcm93cykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwLDExKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTUsMTYpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMTYsMTcpJyBXSEVSRSBpZCA9ICdb MTUsMTYpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMCwxMSknOwor ICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwLDExKSB8IFsyMDE4 LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzE2LDE3KQorIFsxMCwxMSkgfCBbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKSB8IFsxNSwxNikKKygyIHJvd3MpCisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s1LDYpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbNSw2KSc7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs1LDYp IHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbOCw5KQorIFs1LDYpIHwgWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisgaWQgfCB2YWxpZF9h dCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykKKwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1sxNywxOCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbMTcsMTgpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzExLDEyKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyksICdbMTcsMTgpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgV0hFUkUgaWQgPSAnWzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTEsMTIpJzsKKyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor IFsxMSwxMikgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFsxNywxOCkKKygxIHJvdykKKwog LS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAogLS0KK1RS VU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJyksICdbOSwxMCknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp CiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBPTiBERUxFVEUg U0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERB VEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorVVBEQVRF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0g J1s5LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzYsNyknOworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbNiw3KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzYsNykgfCBbMjAxOC0wMS0w MSwyMDE5LTAxLTAxKSB8IFs5LDEwKQorIFs2LDcpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkg fCBbOSwxMCkKKygzIHJvd3MpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VU IGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzYsNyknOworICBpZCAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNiw3KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEt MDEpIHwgCisgWzYsNykgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IAorIFs2LDcpIHwgWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAKKygzIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTgsMTkpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE4LDE5KScsIGRhdGVyYW5n ZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MiwxMyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzE4LDE5KScp OworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzE5LDIwKScgV0hF UkUgaWQgPSAnWzE4LDE5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdb MTIsMTMpJzsKKyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMiwx MykgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsxMiwxMykgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFsxOCwxOSkKKygyIHJvd3MpCisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzExLDEyKScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1s3LDgpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sx MSwxMiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQg PSAnWzExLDEyKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzcsOCknOworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKyBbNyw4KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzcsOCkgfCBbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSB8IFsxMSwxMikKKyBbNyw4KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpIHwgWzExLDEyKQorKDMgcm93cykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIFdIRVJFIGlkID0gJ1sxMSwxMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s3LDgpJzsKKyAgaWQgICB8ICAgICAgICB2 YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzcsOCkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAor IFs3LDgpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAKKyBbNyw4KSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgCisoMyByb3dzKQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIwLDIxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlcmFuZ2UoJzIwMjAt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTMsMTQpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1syMCwyMSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbMjAsMjEpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMywxNCknOworICAgaWQgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEzLDE0KSB8IFsyMDE4LTAxLTAxLDIwMjAt MDEtMDEpIHwgCisgWzEzLDE0KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzIwLDIxKQor KDIgcm93cykKKwogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQg REVGQVVMVAogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMCwxKScsIGRhdGVyYW5nZShudWxsLCBudWxs KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzEyLDEzKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1sxMiwxMyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0x LC0xXScsCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n X2ZrLApAQCAtMjUyOCwxMCArMzg1NCw3MyBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04gREVM RVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKLUVSUk9SOiAgdW5zdXBwb3J0 ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJ T0QKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbMTMsMTQpJyBX SEVSRSBpZCA9ICdbMTIsMTMpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAi dGZrcDIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmdfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShb LTEsMCksIFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAi dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CisgIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFs4LDkpIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMTIs MTMpCisoMSByb3cpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0g J1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRl IG9uIHRhYmxlICJ0ZmtwMiIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2 YWxpZF9hdCk9KFstMSwwKSwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkpIGlzIG5vdCBwcmVzZW50 IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmciLgorU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKKyAgaWQgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzgsOSkgfCBbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKSB8IFsxMiwxMykKKygxIHJvdykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMiwyMyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzE0LDE1KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjIsMjMpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMjMsMjQpJyBXSEVSRSBpZCA9ICdb MjIsMjMpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworRVJST1I6ICBpbnNl cnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMiIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3Ry YWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayIKK0RFVEFJTDogIEtleSAo cGFyZW50X2lkLCB2YWxpZF9hdCk9KFstMSwwKSwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkpIGlz IG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmciLgorU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxNCwx NSknOworICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzE0LDE1KSB8 IFsyMDE4LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzIyLDIzKQorKDEgcm93KQorCiAtLQogLS0gcGFy dGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCiAtLQorVFJVTkNBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxNCwx NSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAn WzE0LDE1KSc7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3AxIiB2aW9s YXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWy0xLDApLCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzksMTApJzsKKyAgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAg ICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbOSwxMCkgfCBbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKSB8IFsxNCwxNSkKKygx IHJvdykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFdIRVJFIGlkID0g J1sxNCwxNSknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMSIgdmlv bGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFstMSwwKSwgWzIw MTgtMDEtMDEsMjAyMS0wMS0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7CisgICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisgWzksMTApIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMTQsMTUpCiso MSByb3cpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEt MDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzI0LDI1KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzI0LDI1KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1syNCwyNSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3AxIiB2 aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWy0xLDApLCBb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmcgV0hFUkUgaWQgPSAnWzE1LDE2KSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTUsMTYpIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMjQs MjUpCisoMSByb3cpCisKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZzsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nOwogLS0KQEAgLTI2MTcsMzIg KzQwMDYsMTUwIEBAIERFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIHtbMjAxOC0w MS0wMSwyMDE4LTAyLTAxKX0pIGlzIHN0aWxsIHJlZmVyZW5jCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcy bWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7 CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAog ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2Zr CiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIENBU0NBREUg T04gVVBEQVRFIENBU0NBREU7Ci1FUlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24g Zm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECitVUERBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzQsNSknOworICBpZCAgIHwgICAgICAgICAg ICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzQsNSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgWzcsOCkKKyBbNCw1KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KQorKDIgcm93cykKKworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb NCw1KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAg fCBbNyw4KQorIFs0LDUpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs3LDgpCisoMiByb3dzKQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb MTUsMTYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMCwxMSknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxNSwxNiknKTsK K1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1sxNiwxNyknIFdI RVJFIGlkID0gJ1sxNSwxNiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwLDExKSc7CisgICBpZCAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzEwLDExKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbMTYsMTcpCisgWzEw LDExKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTUsMTYpCisoMiByb3dzKQorCiAt LQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKIC0tCitUUlVO Q0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzUsNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRy bmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzUs NiknOworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzUsNikgfCB7WzIwMTgtMDEt MDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygxIHJvdykK KworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1s4 LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisgaWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNywxOCknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzE3LDE4KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIx LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTEsMTIpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTcsMTgp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hFUkUgaWQgPSAn WzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTEs MTIpJzsKKyAgIGlkICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTEs MTIpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsxNywxOCkKKygxIHJvdykKKwogLS0K IC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAogLS0KK1RSVU5D QVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s5LDEwKScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZwogICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZ19maywKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRf ZmtfbWx0cm5nMm1sdHJuZ19mawogICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZwogICAg IE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7Ci1FUlJPUjogIHVuc3VwcG9y dGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVS SU9ECitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0w MScpKSkgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzYs NyknOworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzYsNykgfCB7WzIwMTktMDEt MDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisgWzYsNykgfCB7WzIw MTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzksMTApCiso MiByb3dzKQorCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdb MTAsMTEpJyBXSEVSRSBpZCA9ICdbOSwxMCknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKKyAgaWQgICB8ICAg ICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRf aWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFs2LDcpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAg ICAgICAgICAgICAgICAgICAgICAgICB8IAorIFs2LDcpIHwge1syMDE4LTAxLTAxLDIwMTktMDEt MDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IAorKDIgcm93cykKKworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxOCwx OSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzE4LDE5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTIsMTMp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbMTgsMTkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9 ICdbMTksMjApJyBXSEVSRSBpZCA9ICdbMTgsMTkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMiwxMyknOworICAgaWQgICAgfCAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFsxMiwxMykgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwg CisgWzEyLDEzKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTgsMTkpCisoMiByb3dz KQorCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCiAt LQorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRf bWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxMSwxMiknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzcsOCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSwgJ1sxMSwxMiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRp dGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1sxMSwxMikn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1s3LDgpJzsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQg ICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs3LDgp IHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAor IFs3LDgpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFsxMSwxMikKKygyIHJvd3MpCisKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVk X21sdHJuZyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNyw4KSc7CisgIGlkICAgfCAg ICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50 X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNyw4KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0g ICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBbNyw4KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCAKKygyIHJvd3MpCisKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAs MjEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEzLDE0 KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp LCAnWzIwLDIxKScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdI RVJFIGlkID0gJ1syMCwyMSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEzLDE0KSc7CisgICBpZCAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzEzLDE0KSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAKKyBbMTMsMTQpIHwg e1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsyMCwyMSkKKygyIHJvd3MpCisKIC0tCiAtLSBw YXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKIC0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzAsMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVs bCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbMTIsMTMpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1swLDEp JywKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRy bmdfZmssCkBAIC0yNjUwLDEwICs0MTU3LDY3IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX21sdHJuZzJtbHRybmcKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcK ICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOwotRVJST1I6 ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50 IHVzaW5nIFBFUklPRAorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbMTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbOCw5KSc7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbOCw5KSB8 IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbMCwx KQorIFs4LDkpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpfSB8IFsxMiwxMykKKygyIHJvd3MpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9t bHRybmcgU0VUIGlkID0gJ1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s4 LDkpJzsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAg ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs4LDkpIHwge1syMDE5LTAx LTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IFswLDEpCisgWzgsOSkg fCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzAs MSkKKygyIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMiwyMyknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzE0LDE1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzIyLDIzKScpOworVVBEQVRFIHRlbXBvcmFs X3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzIzLDI0KScgV0hFUkUgaWQgPSAnWzIyLDIz KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsK KyAgIGlkICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTQsMTUpIHwg e1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8IFswLDEpCisgWzE0LDE1KSB8IHtbMjAyMC0wMS0w MSwyMDIxLTAxLTAxKX0gfCBbMjIsMjMpCisoMiByb3dzKQorCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCiAtLQorVFJVTkNBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1swLDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzE0LDE1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOSwxMCknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sx NCwxNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1sxNCwxNSknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7Cisg ICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs5LDEwKSB8IHtbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbMCwxKQorIFs5LDEwKSB8IHtb MjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTQsMTUp CisoMiByb3dzKQorCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hF UkUgaWQgPSAnWzE0LDE1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzksMTApJzsKKyAgIGlkICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzksMTApIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAg ICAgICAgICAgICAgICAgICB8IFswLDEpCisgWzksMTApIHwge1syMDE4LTAxLTAxLDIwMTktMDEt MDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFswLDEpCisoMiByb3dzKQorCitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzI0LDI1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx NSwxNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1syNCwyNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJu ZyBXSEVSRSBpZCA9ICdbMjQsMjUpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1sxNSwxNiknOworICAgaWQgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAgICAg IHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFsxNSwxNikgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWzAsMSkKKyBb MTUsMTYpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsyNCwyNSkKKygyIHJvd3MpCisK IERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKIERST1Ag VEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nOwogUkVTRVQgZGF0ZXN0eWxlOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAppbmRleCBjNWM4OWZlNDBhYi4u MjI0ZGRlZjg0MzAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3Zl cmxhcHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3Fs CkBAIC0xNDI0LDggKzE0MjQsMjYgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwog LS0KIC0tIHJuZzJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCistLSBUT0M6 CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENB U0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxl dGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUg KHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29s cykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1 YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xz KQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERF RkFVTFQgc3Vic2V0KQogCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQorLS0KKwogVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CiBJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CkBAIC0x NDM0LDI4ICsxNDUyLDM0NiBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7Cist LSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9 ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19y bmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g bm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hF UkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sy MDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScp OworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCisK K1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAw LDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBp ZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKIAorLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMCistLQorCiBUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsK ICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBO VUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBT RVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcs OCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAn WzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVM TAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5n IFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OwogCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIERFRkFVTFQKKy0tCisKIFRSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtf cm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKIElOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJykpOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxf Zmtfcm5nMnJuZwogICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBE RUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRl OgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2Uo JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Ju ZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK1VQREFURSB0ZW1w b3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVs bCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcp Jyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVt cG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMg KCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYs NyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50 X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAg IE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0 ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBj b2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JyksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBp ZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1w b3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBO VUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAx KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVt cG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYs NyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJyksICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAo aWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAo aWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywg J1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScg QU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNj YWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcy LCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAx KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3 KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBO VUxMICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJy bmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9p ZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVM RVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdb OCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBz Y2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9y bmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBW QUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m azJfcm5nMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0x XScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcy CisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAn WzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQg aWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNj YWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3Ju ZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVF UyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdb OCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzYsNyknLCBk YXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcp Jyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lk MSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAo dmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQg J1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9O IFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIg V0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsIGRhdGVyYW5nZShudWxs LCBudWxsKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIAogLS0KIC0tIHRlc3Qg Rk9SRUlHTiBLRVksIG11bHRpcmFuZ2UgcmVmZXJlbmNlcyBtdWx0aXJhbmdlCkBAIC0xODU1LDYg KzIxOTEsNDA4IEBAIFdIRVJFIGlkID0gJ1s1LDYpJzsKIERFTEVURSBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzMsNCknOwogREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpKTsKIAorLS0KKworLS0KKy0tIG1s dHJuZzJtbHRybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0tCistLSBUT0M6Cist LSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVz IFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3 byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFy IGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykK Ky0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNl dCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQor LS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFV TFQgc3Vic2V0KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQor LS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21s dHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERB VEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFs X21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScp OworVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0cm5nMm1s dHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3Zl cnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIw MjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf bWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAx KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp LCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxM CistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf bWx0cm5nMm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfbWx0cm5nMm1s dHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZworICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBV UERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8g dXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0 d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5n Mm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgs OSknKTsKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBT RVQgTlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRy bmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEn LCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRy bmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0 cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYs NyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZB VUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNF VCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxf bWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJyk7 CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0cm5n Mm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cist LSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n X2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgQ0FT Q0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQxID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdb Nyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdb OSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQg PSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJl ZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FU RSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcp JywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRl bXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVM RVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQy KSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKwor VFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBT RVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBk YXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5 KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRl cyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0 cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTkt MDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBv cmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgs OSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAs MjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0K KworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSksICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRo ZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxpZF9hdCkgT04g VVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor REVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0g J1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRf YXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2Nh bGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50 X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VU IERFRkFVTFQgJ1stMSwtMV0nLAorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVM VCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu Z19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVM VCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQ REFURSB0ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkMSA9ICdb Nyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRy bmcyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzksMTApJywgaWQyID0gJ1s5LDEwKScgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1w b3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdb LTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3 KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VU IERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9y YWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWls cyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQg REVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdf ZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBTRVQg REVGQVVMVCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIG9rOgorQUxURVIg VEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9p ZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcy bWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAx JywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9t bHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAs MjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLSBGSyB3aXRoIGEgY3VzdG9tIHJhbmdl IHR5cGUKKworQ1JFQVRFIFRZUEUgbXlkYXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsK KworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IG15ZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9mazNfcm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgbXlkYXRlcmFu Z2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3Ju ZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmczIChpZCwgUEVS SU9EIHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzMgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBteWRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmszX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmczIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19y bmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNfcm5n MnJuZzsKK0RST1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKK0RST1AgVFlQRSBteWRhdGVyYW5nZTsK KwogLS0KIC0tIEZLIGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiByYW5nZXMKIC0tCkBAIC0x ODY1LDggKzI2MDMsOCBAQCBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nICgK ICAgbmFtZSB0ZXh0LAogICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRfcm5nX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKICkgUEFSVElUSU9OIEJZ IExJU1QgKGlkKTsKLUNSRUFURSBUQUJMRSB0cDEgcGFydGl0aW9uIE9GIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcs OCknLCAnWzksMTApJywgJ1sxMSwxMiknKTsKLUNSRUFURSBUQUJMRSB0cDIgcGFydGl0aW9uIE9G IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzIsMyknLCAnWzQsNSkn LCAnWzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMpJyk7CitDUkVBVEUgVEFCTEUg dHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAo J1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywg J1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdb MjMsMjQpJyk7CitDUkVBVEUgVEFCTEUgdHAyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywgJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcp JywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScsICdbMTQsMTUpJywgJ1sxNiwxNyknLCAn WzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAnWzI0LDI1KScpOwogSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAo J1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAog ICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScp LApAQCAtMTg4MCw4ICsyNjE4LDggQEAgQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKAogICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQogKSBQ QVJUSVRJT04gQlkgTElTVCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRma3AxIHBhcnRpdGlvbiBPRiB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdb Myw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScpOwotQ1JFQVRFIFRB QkxFIHRma3AyIHBhcnRpdGlvbiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZP UiBWQUxVRVMgSU4gKCdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEp JywgJ1sxMiwxMyknKTsKK0NSRUFURSBUQUJMRSB0ZmtwMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAn WzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYp JywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0NSRUFURSBU QUJMRSB0ZmtwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBG T1IgVkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSkn LCAnWzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkpJywg J1syMCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBG SyByZWZlcmVuY2luZyBpbnNlcnRzCkBAIC0xOTQwLDM2ICsyNjc4LDkwIEBAIERFTEVURSBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0 ID0gZGF0ZXJhbmdlCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBP TiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s0LDUp JzsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzQsNSknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwLDExKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTUsMTYpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMTYsMTcpJyBXSEVSRSBpZCA9ICdb MTUsMTYpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMCwxMSknOwog CiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKIC0tCiAK K1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRf Zmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbMTcsMTgpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzE3LDE4KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1sxMSwxMiknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpLCAnWzE3LDE4KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IFdIRVJFIGlkID0gJ1sxNywxOCknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQg PSAnWzExLDEyKSc7CisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIE5VTEwKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOSwxMCknKTsKIEFMVEVSIFRB QkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5 LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hF UkUgaWQgPSAnWzYsNyknOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQg PSAnWzEwLDExKScgV0hFUkUgaWQgPSAnWzksMTApJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE4LDE5KScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxOCwxOSknLCBk YXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMTIsMTMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sx OCwxOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1sxOSwy MCknIFdIRVJFIGlkID0gJ1sxOCwxOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEyLDEzKSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0 ZXMgU0VUIE5VTEwKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTEsMTIpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzcsOCkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzExLDEyKScpOworREVM RVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbNyw4KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQg PSAnWzExLDEyKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzcsOCknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAx JywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEzLDE0KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjAsMjEpJyk7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzIwLDIxKScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTMsMTQpJzsKKwogLS0KIC0tIHBhcnRpdGlv bmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAogLS0KIAorVFJVTkNBVEUgdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzEyLDEzKScp OwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZwogICBBTFRFUiBD T0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKICAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCkBAIC0xOTc3LDExICsyNzY5LDM0 IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgICBGT1JF SUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRF IFNFVCBERUZBVUxUOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0g J1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1VQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1s4LDkpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzIyLDIzKScpOworVVBEQVRFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBTRVQgaWQgPSAnWzIzLDI0KScgV0hFUkUgaWQgPSAnWzIyLDIzKScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsKIAogLS0KIC0tIHBhcnRp dGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAogLS0KIAorVFJVTkNBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxNCwx NSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAn WzE0LDE1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzksMTApJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syNCwyNSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzE1 LDE2KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjQsMjUpJyk7 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzI0LDI1 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTUsMTYpJzsKKwogRFJP UCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nOwogRFJPUCBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ybmc7CiAKQEAgLTIwNzAsMzYgKzI4ODUsOTAgQEAgREVMRVRFIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFs aWRfYXQgPSBkYXRlbXUKIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVND QURFCiAtLQogCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9u ZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CitVUERB VEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzQsNSknOworVVBEQVRF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbNCw1KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMCwxMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxNSwxNiknKTsKK1VQREFU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1sxNiwxNyknIFdIRVJFIGlk ID0gJ1sxNSwxNiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzEwLDExKSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FT Q0FERQogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzgs OSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1s1LDYpJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21s dHJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNywxOCkn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzE3LDE4KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTEsMTIpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdb MTcsMTgpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hFUkUg aWQgPSAnWzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9 ICdbMTEsMTIpJzsKKwogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTAogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s5LDEwKScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzksMTApJyk7CiBBTFRFUiBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVM TDsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBTRVQgaWQgPSAnWzEwLDExKScgV0hFUkUgaWQgPSAnWzksMTApJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNiw3 KSc7CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMTAsMTEp JyBXSEVSRSBpZCA9ICdbOSwxMCknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTgsMTkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1sxOCwxOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRy bmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEyLDEzKScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzE4 LDE5KScpOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzE5 LDIwKScgV0hFUkUgaWQgPSAnWzE4LDE5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKIAogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgTlVMTAogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf bWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sx MSwxMiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzcsOCknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxMSwxMiknKTsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEn KSkpIFdIRVJFIGlkID0gJ1sxMSwxMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s3LDgpJzsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb Nyw4KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzIwLDIxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxMywxNCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1syMCwyMSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbMjAsMjEpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMywxNCknOworCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCiAtLQogCitUUlVOQ0FURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzAsMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s4LDkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdb MTIsMTMpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0 cm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1swLDEpJywKICAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmdfZmssCkBA IC0yMTA3LDExICsyOTc2LDM0IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcKICAgICBPTiBE RUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworVVBEQVRFIHRlbXBvcmFs X3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbMTMs MTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitVUERBVEUgdGVtcG9y YWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIs MTMpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1syMiwyMyknKTsKK1VQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1syMywyNCknIFdIRVJFIGlkID0g J1syMiwyMyknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzE0 LDE1KSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMCwxKScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzksMTApJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTQsMTUpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9 ICdbMTQsMTUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5n Mm1sdHJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1sxNCwxNSknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzI0LDI1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1sxNSwxNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1syNCwyNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21s dHJuZyBXSEVSRSBpZCA9ICdbMjQsMjUpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1sxNSwxNiknOworCiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX21sdHJuZzJtbHRybmc7CiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJu ZzsKIAotLSAKMi4zOS41Cgo= --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0008-Look-up-more-temporal-foreign-key-helper-procs.patch" Content-Disposition: attachment; filename="v57-0008-Look-up-more-temporal-foreign-key-helper-procs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnk87 RnJvbSBhMTYzNTNmMzRiNmMwOTA4N2E3YTVhNTEyMGM1YTA2MTgzM2M3Nzk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTMgSnVuIDIwMjUgMTY6MTE6NDcgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NyAwOC8xMV0gTG9vayB1cCBtb3JlIHRlbXBvcmFsIGZvcmVpZ24ga2V5IGhl bHBlciBwcm9jcwoKVG8gaW1wbGVtZW50IENBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQgb24g dGVtcG9yYWwgZm9yZWlnbiBrZXlzLCB3ZQpuZWVkIGFuIGludGVyc2VjdCBmdW5jdGlvbiBhbmQg YSBtaW51cyBzZXQtcmV0dXJuaW5nIGZ1bmN0aW9uLiBXZSBjYW4KbG9vayB0aGVtIHVwIHdoZW4g d2UgbG9vayB1cCB0aGUgb3BlcmF0b3JzIGFscmVhZHkgbmVlZGVkIGZvciB0ZW1wb3JhbApmb3Jl aWduIGtleXMgKGluY2x1ZGluZyBOTyBBQ1RJT04gY29uc3RyYWludHMpLgoKQXV0aG9yOiBQYXVs IEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0KIHNyYy9iYWNr ZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5jIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgIHwgIDYgKysrLS0KIHNy Yy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9yaV90cmlnZ2Vycy5jIHwgMTIgKysrKysrLS0tLQogc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19jb25zdHJhaW50LmggfCAxMCArKysrLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNl cnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRh bG9nL3BnX2NvbnN0cmFpbnQuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5j CmluZGV4IDYwMDJmZDAwMDJmLi40YzhlMjQyYWQ0YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9wZ19jb25zdHJhaW50LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19jb25z dHJhaW50LmMKQEAgLTE2MzMsNyArMTYzMyw3IEBAIERlY29uc3RydWN0RmtDb25zdHJhaW50Um93 KEhlYXBUdXBsZSB0dXBsZSwgaW50ICpudW1ma3MsCiB9CiAKIC8qCi0gKiBGaW5kRktQZXJpb2RP cGVycyAtCisgKiBGaW5kRktQZXJpb2RPcGVyc0FuZFByb2NzIC0KICAqCiAgKiBMb29rcyB1cCB0 aGUgb3BlcmF0b3Igb2lkcyB1c2VkIGZvciB0aGUgUEVSSU9EIHBhcnQgb2YgYSB0ZW1wb3JhbCBm b3JlaWduIGtleS4KICAqIFRoZSBvcGNsYXNzIHNob3VsZCBiZSB0aGUgb3BjbGFzcyBvZiB0aGF0 IFBFUklPRCBlbGVtZW50LgpAQCAtMTY0NCwxMiArMTY0NCwxOSBAQCBEZWNvbnN0cnVjdEZrQ29u c3RyYWludFJvdyhIZWFwVHVwbGUgdHVwbGUsIGludCAqbnVtZmtzLAogICogVGhhdCB3YXkgZm9y ZWlnbiBrZXlzIGNhbiBjb21wYXJlIGZrYXR0ciA8QCByYW5nZV9hZ2cocGthdHRyKS4KICAqIGlu dGVyc2VjdG9wZXJvaWQgaXMgdXNlZCBieSBOTyBBQ1RJT04gY29uc3RyYWludHMgdG8gdHJpbSB0 aGUgcmFuZ2UgYmVpbmcgY29uc2lkZXJlZAogICogdG8ganVzdCB3aGF0IHdhcyB1cGRhdGVkL2Rl bGV0ZWQuCisgKiBpbnRlcnNlY3Rwcm9jb2lkIGlzIHVzZWQgdG8gbGltaXQgdGhlIGVmZmVjdCBv ZiBDQVNDQURFL1NFVCBOVUxML1NFVCBERUZBVUxUCisgKiB3aGVuIHRoZSBQSyByZWNvcmQgaXMg Y2hhbmdlZCB3aXRoIEZPUiBQT1JUSU9OIE9GLgorICogd2l0aG91dHBvcnRpb25vaWQgaXMgYSBz ZXQtcmV0dXJuaW5nIGZ1bmN0aW9uIGNvbXB1dGluZworICogdGhlIGRpZmZlcmVuY2UgYmV0d2Vl biBvbmUgcmFuZ2UgYW5kIGFub3RoZXIsCisgKiByZXR1cm5pbmcgZWFjaCByZXN1bHQgcmFuZ2Ug aW4gYSBzZXBhcmF0ZSByb3cuCiAgKi8KIHZvaWQKLUZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNs YXNzLAotCQkJCSAgT2lkICpjb250YWluZWRieW9wZXJvaWQsCi0JCQkJICBPaWQgKmFnZ2VkY29u dGFpbmVkYnlvcGVyb2lkLAotCQkJCSAgT2lkICppbnRlcnNlY3RvcGVyb2lkKQorRmluZEZLUGVy aW9kT3BlcnNBbmRQcm9jcyhPaWQgb3BjbGFzcywKKwkJCQkJCSAgT2lkICpjb250YWluZWRieW9w ZXJvaWQsCisJCQkJCQkgIE9pZCAqYWdnZWRjb250YWluZWRieW9wZXJvaWQsCisJCQkJCQkgIE9p ZCAqaW50ZXJzZWN0b3Blcm9pZCwKKwkJCQkJCSAgT2lkICppbnRlcnNlY3Rwcm9jb2lkLAorCQkJ CQkJICBPaWQgKndpdGhvdXRwb3J0aW9ub2lkKQogewogCU9pZAkJCW9wZmFtaWx5ID0gSW52YWxp ZE9pZDsKIAlPaWQJCQlvcGNpbnR5cGUgPSBJbnZhbGlkT2lkOwpAQCAtMTY5MSw2ICsxNjk4LDE3 IEBAIEZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNsYXNzLAogCQkJCQkJCSAgIGFnZ2VkY29udGFp bmVkYnlvcGVyb2lkLAogCQkJCQkJCSAgICZzdHJhdCk7CiAKKwkvKgorCSAqIEhhcmRjb2RlIGlu dGVyc2VjdCBvcGVyYXRvcnMgZm9yIHJhbmdlcyBhbmQgbXVsdGlyYW5nZXMsIGJlY2F1c2Ugd2UK KwkgKiBkb24ndCBoYXZlIGEgYmV0dGVyIHdheSB0byBsb29rIHVwIG9wZXJhdG9ycyB0aGF0IGFy ZW4ndCB1c2VkIGluCisJICogaW5kZXhlcy4KKwkgKgorCSAqIElmIHlvdSBjaGFuZ2UgdGhpcyBj b2RlLCB5b3UgbXVzdCBjaGFuZ2UgdGhlIGNvZGUgaW4KKwkgKiB0cmFuc2Zvcm1Gb3JQb3J0aW9u T2ZDbGF1c2UuCisJICoKKwkgKiBYWFg6IEZpbmQgYSBtb3JlIGV4dGVuc2libGUgd2F5IHRvIGxv b2sgdXAgdGhlIG9wZXJhdG9yLCBwZXJtaXR0aW5nCisJICogdXNlci1kZWZpbmVkIHR5cGVzLgor CSAqLwogCXN3aXRjaCAob3BjaW50eXBlKQogCXsKIAkJY2FzZSBBTllSQU5HRU9JRDoKQEAgLTE3 MDIsNiArMTcyMCwxNCBAQCBGaW5kRktQZXJpb2RPcGVycyhPaWQgb3BjbGFzcywKIAkJZGVmYXVs dDoKIAkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIG9wY2ludHlwZTogJXUiLCBvcGNpbnR5cGUp OwogCX0KKworCS8qCisJICogTG9vayB1cCB0aGUgaW50ZXJzZWN0IHByb2MuIFdlIHVzZSB0aGlz IGZvciBGT1IgUE9SVElPTiBPRiAoYm90aCB0aGUKKwkgKiBvcGVyYXRpb24gaXRzZWxmIGFuZCB3 aGVuIGNoZWNraW5nIGZvcmVpZ24ga2V5cykuIElmIHRoaXMgaXMgbWlzc2luZyB3ZQorCSAqIGRv bid0IG5lZWQgdG8gY29tcGxhaW4gaGVyZSwgYmVjYXVzZSBGT1IgUE9SVElPTiBPRiB3aWxsIG5v dCBiZQorCSAqIGFsbG93ZWQuCisJICovCisJKmludGVyc2VjdHByb2NvaWQgPSBnZXRfb3Bjb2Rl KCppbnRlcnNlY3RvcGVyb2lkKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5k ZXggOWYxMzg4MTU5NzAuLmRlMGYzYWY0NmM1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpA QCAtMTA1MzksOSArMTA1MzksMTEgQEAgQVRBZGRGb3JlaWduS2V5Q29uc3RyYWludChMaXN0ICoq d3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJT2lkCQkJcGVy aW9kb3Blcm9pZDsKIAkJT2lkCQkJYWdnZWRwZXJpb2RvcGVyb2lkOwogCQlPaWQJCQlpbnRlcnNl Y3RvcGVyb2lkOworCQlPaWQJCQlpbnRlcnNlY3Rwcm9jb2lkOworCQlPaWQJCQl3aXRob3V0b3Zl cmxhcHNvaWQ7CiAKLQkJRmluZEZLUGVyaW9kT3BlcnMob3BjbGFzc2VzW251bXBrcyAtIDFdLCAm cGVyaW9kb3Blcm9pZCwgJmFnZ2VkcGVyaW9kb3Blcm9pZCwKLQkJCQkJCSAgJmludGVyc2VjdG9w ZXJvaWQpOworCQlGaW5kRktQZXJpb2RPcGVyc0FuZFByb2NzKG9wY2xhc3Nlc1tudW1wa3MgLSAx XSwgJnBlcmlvZG9wZXJvaWQsICZhZ2dlZHBlcmlvZG9wZXJvaWQsCisJCQkJCQkJCSAgJmludGVy c2VjdG9wZXJvaWQsICZpbnRlcnNlY3Rwcm9jb2lkLCAmd2l0aG91dG92ZXJsYXBzb2lkKTsKIAl9 CiAKIAkvKiBGaXJzdCwgY3JlYXRlIHRoZSBjb25zdHJhaW50IGNhdGFsb2cgZW50cnkgaXRzZWxm LiAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyBiL3NyYy9iYWNr ZW5kL3BhcnNlci9hbmFseXplLmMKaW5kZXggNjg5MGE2N2ZiM2MuLjJkMjJhNmVlNWMwIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCisrKyBiL3NyYy9iYWNrZW5kL3Bh cnNlci9hbmFseXplLmMKQEAgLTE0NDYsNyArMTQ0Niw3IEBAIHRyYW5zZm9ybUZvclBvcnRpb25P ZkNsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJCS8qCiAJCSAqIFdoYXRldmVyIG9wZXJhdG9y IGlzIHVzZWQgZm9yIGludGVyc2VjdCBieSB0ZW1wb3JhbCBmb3JlaWduIGtleXMsCiAJCSAqIHdl IGNhbiB1c2UgaXRzIGJhY2tpbmcgcHJvY2VkdXJlIGZvciBpbnRlcnNlY3RzIGluIEZPUiBQT1JU SU9OIE9GLgotCQkgKiBYWFg6IFNoYXJlIGNvZGUgd2l0aCBGaW5kRktQZXJpb2RPcGVycz8KKwkJ ICogWFhYOiBTaGFyZSBjb2RlIHdpdGggRmluZEZLUGVyaW9kT3BlcnNBbmRQcm9jcz8KIAkJICov CiAJCXN3aXRjaCAob3BjaW50eXBlKQogCQl7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hZHQvcmlfdHJpZ2dlcnMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5j CmluZGV4IGQ2YjFlYjU3YTQ4Li5mYzhkNTllMGY0NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3Ry aWdnZXJzLmMKQEAgLTEyOSw2ICsxMjksOCBAQCB0eXBlZGVmIHN0cnVjdCBSSV9Db25zdHJhaW50 SW5mbwogCU9pZAkJCXBlcmlvZF9jb250YWluZWRfYnlfb3BlcjsJLyogYW55cmFuZ2UgPEAgYW55 cmFuZ2UgKi8KIAlPaWQJCQlhZ2dlZF9wZXJpb2RfY29udGFpbmVkX2J5X29wZXI7IC8qIGZrYXR0 ciA8QCByYW5nZV9hZ2cocGthdHRyKSAqLwogCU9pZAkJCXBlcmlvZF9pbnRlcnNlY3Rfb3BlcjsJ LyogYW55cmFuZ2UgKiBhbnlyYW5nZSAob3IgbXVsdGlyYW5nZSkgKi8KKwlPaWQJCQlwZXJpb2Rf aW50ZXJzZWN0X3Byb2M7CS8qIGFueXJhbmdlICogYW55cmFuZ2UgKG9yIG11bHRpcmFuZ2UpICov CisJT2lkCQkJd2l0aG91dF9wb3J0aW9uX3Byb2M7CS8qIGFueXJhbmdlIC0gYW55cmFuZ2UgU1JG ICovCiAJZGxpc3Rfbm9kZQl2YWxpZF9saW5rOwkJLyogTGluayBpbiBsaXN0IG9mIHZhbGlkIGVu dHJpZXMgKi8KIH0gUklfQ29uc3RyYWludEluZm87CiAKQEAgLTIzMzcsMTAgKzIzMzksMTIgQEAg cmlfTG9hZENvbnN0cmFpbnRJbmZvKE9pZCBjb25zdHJhaW50T2lkKQogCXsKIAkJT2lkCQkJb3Bj bGFzcyA9IGdldF9pbmRleF9jb2x1bW5fb3BjbGFzcyhjb25Gb3JtLT5jb25pbmRpZCwgcmlpbmZv LT5ua2V5cyk7CiAKLQkJRmluZEZLUGVyaW9kT3BlcnMob3BjbGFzcywKLQkJCQkJCSAgJnJpaW5m by0+cGVyaW9kX2NvbnRhaW5lZF9ieV9vcGVyLAotCQkJCQkJICAmcmlpbmZvLT5hZ2dlZF9wZXJp b2RfY29udGFpbmVkX2J5X29wZXIsCi0JCQkJCQkgICZyaWluZm8tPnBlcmlvZF9pbnRlcnNlY3Rf b3Blcik7CisJCUZpbmRGS1BlcmlvZE9wZXJzQW5kUHJvY3Mob3BjbGFzcywKKwkJCQkJCQkJICAm cmlpbmZvLT5wZXJpb2RfY29udGFpbmVkX2J5X29wZXIsCisJCQkJCQkJCSAgJnJpaW5mby0+YWdn ZWRfcGVyaW9kX2NvbnRhaW5lZF9ieV9vcGVyLAorCQkJCQkJCQkgICZyaWluZm8tPnBlcmlvZF9p bnRlcnNlY3Rfb3BlciwKKwkJCQkJCQkJICAmcmlpbmZvLT5wZXJpb2RfaW50ZXJzZWN0X3Byb2Ms CisJCQkJCQkJCSAgJnJpaW5mby0+d2l0aG91dF9wb3J0aW9uX3Byb2MpOwogCX0KIAogCVJlbGVh c2VTeXNDYWNoZSh0dXApOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb25z dHJhaW50LmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaAppbmRleCA0YWZj ZWI1YzY5Mi4uZjhhMDFkODk2MTcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf Y29uc3RyYWludC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3RyYWludC5oCkBA IC0yODgsMTAgKzI4OCwxMiBAQCBleHRlcm4gdm9pZCBEZWNvbnN0cnVjdEZrQ29uc3RyYWludFJv dyhIZWFwVHVwbGUgdHVwbGUsIGludCAqbnVtZmtzLAogCQkJCQkJCQkJICAgQXR0ck51bWJlciAq Y29ua2V5LCBBdHRyTnVtYmVyICpjb25ma2V5LAogCQkJCQkJCQkJICAgT2lkICpwZl9lcV9vcHJz LCBPaWQgKnBwX2VxX29wcnMsIE9pZCAqZmZfZXFfb3BycywKIAkJCQkJCQkJCSAgIGludCAqbnVt X2ZrX2RlbF9zZXRfY29scywgQXR0ck51bWJlciAqZmtfZGVsX3NldF9jb2xzKTsKLWV4dGVybiB2 b2lkIEZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNsYXNzLAotCQkJCQkJCSAgT2lkICpjb250YWlu ZWRieW9wZXJvaWQsCi0JCQkJCQkJICBPaWQgKmFnZ2VkY29udGFpbmVkYnlvcGVyb2lkLAotCQkJ CQkJCSAgT2lkICppbnRlcnNlY3RvcGVyb2lkKTsKK2V4dGVybiB2b2lkIEZpbmRGS1BlcmlvZE9w ZXJzQW5kUHJvY3MoT2lkIG9wY2xhc3MsCisJCQkJCQkJCQkgIE9pZCAqY29udGFpbmVkYnlvcGVy b2lkLAorCQkJCQkJCQkJICBPaWQgKmFnZ2VkY29udGFpbmVkYnlvcGVyb2lkLAorCQkJCQkJCQkJ ICBPaWQgKmludGVyc2VjdG9wZXJvaWQsCisJCQkJCQkJCQkgIE9pZCAqaW50ZXJzZWN0cHJvY29p ZCwKKwkJCQkJCQkJCSAgT2lkICp3aXRob3V0cG9ydGlvbm9pZCk7CiAKIGV4dGVybiBib29sIGNo ZWNrX2Z1bmN0aW9uYWxfZ3JvdXBpbmcoT2lkIHJlbGlkLAogCQkJCQkJCQkJICBJbmRleCB2YXJu bywgSW5kZXggdmFybGV2ZWxzdXAsCi0tIAoyLjM5LjUKCg== --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0006-Add-UPDATE-DELETE-FOR-PORTION-OF.patch" Content-Disposition: attachment; filename="v57-0006-Add-UPDATE-DELETE-FOR-PORTION-OF.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnk25 RnJvbSA3YWU4ZWIyNTM1N2FkYzVkZGY3YzRlMzA5YTIyOTEyMmFjODExNWQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMjUgSnVuIDIwMjEgMTg6NTQ6MzUgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NyAwNi8xMV0gQWRkIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJT04gT0YKCi0g QWRkZWQgYmlzb24gc3VwcG9ydCBmb3IgRk9SIFBPUlRJT04gT0Ygc3ludGF4LiBUaGUgYm91bmRz IG11c3QgYmUKICBjb25zdGFudCwgc28gd2UgZm9yYmlkIGNvbHVtbiByZWZlcmVuY2VzLCBzdWJx dWVyaWVzLCBldGMuIFdlIGRvCiAgYWNjZXB0IGZ1bmN0aW9ucyBsaWtlIE5PVygpLgotIEFkZGVk IGxvZ2ljIHRvIGV4ZWN1dG9yIHRvIGluc2VydCBuZXcgcm93cyBmb3IgdGhlICJ0ZW1wb3JhbCBs ZWZ0b3ZlciIKICBwYXJ0IG9mIGEgcmVjb3JkIHRvdWNoZWQgYnkgYSBGT1IgUE9SVElPTiBPRiBx dWVyeS4KLSBEb2N1bWVudGVkIEZPUiBQT1JUSU9OIE9GLgotIEFkZGVkIHRlc3RzLgoKQXV0aG9y OiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0KIC4u Li9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dCAgICB8ICAgNDUgKy0KIGNv bnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsICAgICB8ICAgMzQgKwogZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCAgICAgIHwgICAgNiArCiBkb2Mv c3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgIDk2ICstCiBkb2Mv c3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgIDk4ICstCiBkb2Mv c3JjL3NnbWwvdHJpZ2dlci5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgICA5ICsKIHNyYy9i YWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2Jh Y2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMgICAgICAgIHwgIDMzMSArKysrLQogc3Jj L2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMgICAgICAgICAgICAgICAgIHwgICAyNCArCiBzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMgICAgICAgfCAgICA2ICstCiBzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMgICAgICAgICAgfCAgICAxICsKIHNyYy9i YWNrZW5kL29wdGltaXplci91dGlsL3BhdGhub2RlLmMgICAgICAgICB8ICAgIDMgKy0KIHNyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAgICAgICAgICAgICB8ICAyNDkgKysrLQogc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAgIHwgIDEwMCArLQogc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2FnZy5jICAgICAgICAgICAgICAgIHwgICAxMCArCiBzcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfY29sbGF0ZS5jICAgICAgICAgICAgfCAgICAxICsKIHNyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMgICAgICAgICAgICAgICB8ICAgIDggKwogc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYyAgICAgICAgICAgICAgIHwgICAgMyArCiBzcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYyAgICAgICAgICAgICAgfCAgICAyICstCiBzcmMvYmFj a2VuZC9yZXdyaXRlL3Jld3JpdGVIYW5kbGVyLmMgICAgICAgICAgfCAgIDQzICsKIHNyYy9iYWNr ZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jICAgICAgICAgICB8ICAgMjcgKwogc3JjL2luY2x1 ZGUvbm9kZXMvZXhlY25vZGVzLmggICAgICAgICAgICAgICAgIHwgICAyMiArCiBzcmMvaW5jbHVk ZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAgICAgICAgfCAgIDIwICsKIHNyYy9pbmNsdWRl L25vZGVzL3BhdGhub2Rlcy5oICAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUv bm9kZXMvcGxhbm5vZGVzLmggICAgICAgICAgICAgICAgIHwgICAgMiArCiBzcmMvaW5jbHVkZS9u b2Rlcy9wcmltbm9kZXMuaCAgICAgICAgICAgICAgICAgfCAgIDI3ICsKIHNyYy9pbmNsdWRlL29w dGltaXplci9wYXRobm9kZS5oICAgICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy9pbmNsdWRlL3Bh cnNlci9hbmFseXplLmggICAgICAgICAgICAgICAgICB8ICAgIDMgKy0KIHNyYy9pbmNsdWRlL3Bh cnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUvcGFy c2VyL3BhcnNlX25vZGUuaCAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMvaW5jbHVkZS91dGls cy9sc3lzY2FjaGUuaCAgICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0ICB8IDEyNDggKysrKysrKysrKysrKysrKysKIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgICAgICB8ICAgMTggKwogc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0IHwgICAzMiArCiAuLi4v cmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dCAgICAgfCAgMjQ1ICsrKy0KIHNy Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgIDIgKy0KIHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCAgICAgICB8ICA5MDUgKysrKysr KysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbCAgICAgICAgICAgfCAg IDE4ICsKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0YWJsZV92aWV3cy5zcWwgICAgICB8ICAg MTQgKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgICAgIHwgIDEy MCArLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM0X3RlbXBvcmFsLnBsICAgICAgIHwgIDEx MCArLQogc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgICAgIHwgICAg NCArCiA0MyBmaWxlcyBjaGFuZ2VkLCAzODA2IGluc2VydGlvbnMoKyksIDg5IGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRp b25fb2Yub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yX3Bv cnRpb25fb2Yuc3FsCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQv cG9zdGdyZXNfZmR3Lm91dCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVz X2Zkdy5vdXQKaW5kZXggY2QyODEyNjA0OWQuLjhjMGYxZThiNzcxIDEwMDY0NAotLS0gYS9jb250 cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CisrKyBiL2NvbnRyaWIv cG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKQEAgLTUwLDExICs1MCwxOSBA QCBDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNCIgKAogCWMzIHRleHQsCiAJQ09OU1RSQUlOVCB0NF9w a2V5IFBSSU1BUlkgS0VZIChjMSkKICk7CitDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNSIgKAorCWMx IGludDRyYW5nZSBOT1QgTlVMTCwKKwljMiBpbnQgTk9UIE5VTEwsCisJYzMgdGV4dCwKKwljNCBk YXRlcmFuZ2UgTk9UIE5VTEwsCisJQ09OU1RSQUlOVCB0NV9wa2V5IFBSSU1BUlkgS0VZIChjMSwg YzQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CiAtLSBEaXNhYmxlIGF1dG92YWN1dW0gZm9yIHRoZXNl IHRhYmxlcyB0byBhdm9pZCB1bmV4cGVjdGVkIGVmZmVjdHMgb2YgdGhhdAogQUxURVIgVEFCTEUg IlMgMSIuIlQgMSIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIEFMVEVSIFRB QkxFICJTIDEiLiJUIDIiIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CiBBTFRF UiBUQUJMRSAiUyAxIi4iVCAzIiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwog QUxURVIgVEFCTEUgIlMgMSIuIlQgNCIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2Un KTsKK0FMVEVSIFRBQkxFICJTIDEiLiJUIDUiIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2Zh bHNlJyk7CiBJTlNFUlQgSU5UTyAiUyAxIi4iVCAxIgogCVNFTEVDVCBpZCwKIAkgICAgICAgaWQg JSAxMCwKQEAgLTgxLDEwICs4OSwxNyBAQCBJTlNFUlQgSU5UTyAiUyAxIi4iVCA0IgogCSAgICAg ICAnQUFBJyB8fCB0b19jaGFyKGlkLCAnRk0wMDAnKQogCUZST00gZ2VuZXJhdGVfc2VyaWVzKDEs IDEwMCkgaWQ7CiBERUxFVEUgRlJPTSAiUyAxIi4iVCA0IiBXSEVSRSBjMSAlIDMgIT0gMDsJLS0g ZGVsZXRlIGZvciBvdXRlciBqb2luIHRlc3RzCitJTlNFUlQgSU5UTyAiUyAxIi4iVCA1IgorCVNF TEVDVCBpbnQ0cmFuZ2UoaWQsIGlkICsgMSksCisJICAgICAgIGlkICsgMSwKKwkgICAgICAgJ0FB QScgfHwgdG9fY2hhcihpZCwgJ0ZNMDAwJyksCisgICAgICAgICdbMjAwMC0wMS0wMSwyMDIwLTAx LTAxKScKKwlGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDApIGlkOwogQU5BTFlaRSAiUyAxIi4i VCAxIjsKIEFOQUxZWkUgIlMgMSIuIlQgMiI7CiBBTkFMWVpFICJTIDEiLiJUIDMiOwogQU5BTFla RSAiUyAxIi4iVCA0IjsKK0FOQUxZWkUgIlMgMSIuIlQgNSI7CiAtLSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSBj cmVhdGUgZm9yZWlnbiB0YWJsZXMKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTEzMiw2ICsxNDcsMTIgQEAg Q1JFQVRFIEZPUkVJR04gVEFCTEUgZnQ3ICgKIAljMiBpbnQgTk9UIE5VTEwsCiAJYzMgdGV4dAog KSBTRVJWRVIgbG9vcGJhY2szIE9QVElPTlMgKHNjaGVtYV9uYW1lICdTIDEnLCB0YWJsZV9uYW1l ICdUIDQnKTsKK0NSRUFURSBGT1JFSUdOIFRBQkxFIGZ0OCAoCisJYzEgaW50NHJhbmdlIE5PVCBO VUxMLAorCWMyIGludCBOT1QgTlVMTCwKKwljMyB0ZXh0LAorCWM0IGRhdGVyYW5nZSBOT1QgTlVM TAorKSBTRVJWRVIgbG9vcGJhY2sgT1BUSU9OUyAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25h bWUgJ1QgNScpOwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gdGVzdHMgZm9yIHZhbGlkYXRvcgogLS0gPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQpAQCAtMjE0LDcgKzIzNSw4IEBAIEFMVEVSIEZPUkVJR04gVEFCTEUgZnQyIEFMVEVS IENPTFVNTiBjMSBPUFRJT05TIChjb2x1bW5fbmFtZSAnQyAxJyk7CiAgcHVibGljIHwgZnQ1ICAg fCBsb29wYmFjayAgfCAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25hbWUgJ1QgNCcpIHwgCiAg cHVibGljIHwgZnQ2ICAgfCBsb29wYmFjazIgfCAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25h bWUgJ1QgNCcpIHwgCiAgcHVibGljIHwgZnQ3ICAgfCBsb29wYmFjazMgfCAoc2NoZW1hX25hbWUg J1MgMScsIHRhYmxlX25hbWUgJ1QgNCcpIHwgCi0oNiByb3dzKQorIHB1YmxpYyB8IGZ0OCAgIHwg bG9vcGJhY2sgIHwgKHNjaGVtYV9uYW1lICdTIDEnLCB0YWJsZV9uYW1lICdUIDUnKSB8IAorKDcg cm93cykKIAogLS0gVGVzdCB0aGF0IGFsdGVyYXRpb24gb2Ygc2VydmVyIG9wdGlvbnMgY2F1c2Vz IHJlY29ubmVjdGlvbgogLS0gUmVtb3RlJ3MgZXJyb3JzIG1pZ2h0IGJlIG5vbi1FbmdsaXNoLCBz byBoaWRlIHRoZW0gdG8gZW5zdXJlIHN0YWJsZSByZXN1bHRzCkBAIC02MzAzLDYgKzYzMjUsMjcg QEAgREVMRVRFIEZST00gZnQyIFdIRVJFIGMxID0gMTIwMCBSRVRVUk5JTkcgdGFibGVvaWQ6OnJl Z2NsYXNzOwogIGZ0MgogKDEgcm93KQogCistLSBUZXN0IFVQREFURSBGT1IgUE9SVElPTiBPRgor VVBEQVRFIGZ0OCBGT1IgUE9SVElPTiBPRiBjNCBGUk9NICcyMDA1LTAxLTAxJyBUTyAnMjAwNi0w MS0wMScKK1NFVCBjMiA9IGMyICsgMQorV0hFUkUgYzEgPSAnWzEsMiknOworRVJST1I6ICBmb3Jl aWduIHRhYmxlcyBkb24ndCBzdXBwb3J0IEZPUiBQT1JUSU9OIE9GCitTRUxFQ1QgKiBGUk9NIGZ0 OCBXSEVSRSBjMSA9ICdbMSwyKScgT1JERVIgQlkgYzEsIGM0OworICBjMSAgIHwgYzIgfCAgIGMz ICAgfCAgICAgICAgICAgYzQgICAgICAgICAgICAKKy0tLS0tLS0rLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEsMikgfCAgMiB8IEFBQTAwMSB8IFswMS0wMS0yMDAw LDAxLTAxLTIwMjApCisoMSByb3cpCisKKy0tIFRlc3QgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitE RUxFVEUgRlJPTSBmdDggRk9SIFBPUlRJT04gT0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIw MDYtMDEtMDEnCitXSEVSRSBjMSA9ICdbMiwzKSc7CitFUlJPUjogIGZvcmVpZ24gdGFibGVzIGRv bid0IHN1cHBvcnQgRk9SIFBPUlRJT04gT0YKK1NFTEVDVCAqIEZST00gZnQ4IFdIRVJFIGMxID0g J1syLDMpJyBPUkRFUiBCWSBjMSwgYzQ7CisgIGMxICAgfCBjMiB8ICAgYzMgICB8ICAgICAgICAg ICBjNCAgICAgICAgICAgIAorLS0tLS0tLSstLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyBbMiwzKSB8ICAzIHwgQUFBMDAyIHwgWzAxLTAxLTIwMDAsMDEtMDEtMjAyMCkK KygxIHJvdykKKwogLS0gVGVzdCBVUERBVEUvREVMRVRFIHdpdGggUkVUVVJOSU5HIG9uIGEgdGhy ZWUtdGFibGUgam9pbgogSU5TRVJUIElOVE8gZnQyIChjMSxjMixjMykKICAgU0VMRUNUIGlkLCBp ZCAtIDEyMDAsIHRvX2NoYXIoaWQsICdGTTAwMDAwJykgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMTIw MSwgMTMwMCkgaWQ7CmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdy ZXNfZmR3LnNxbCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsCmlu ZGV4IDlhOGY5ZTI4MTM1Li43MzhmYzI0ZmIwNyAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jl c19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3Fs L3Bvc3RncmVzX2Zkdy5zcWwKQEAgLTU0LDEyICs1NCwyMCBAQCBDUkVBVEUgVEFCTEUgIlMgMSIu IlQgNCIgKAogCWMzIHRleHQsCiAJQ09OU1RSQUlOVCB0NF9wa2V5IFBSSU1BUlkgS0VZIChjMSkK ICk7CitDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNSIgKAorCWMxIGludDRyYW5nZSBOT1QgTlVMTCwK KwljMiBpbnQgTk9UIE5VTEwsCisJYzMgdGV4dCwKKwljNCBkYXRlcmFuZ2UgTk9UIE5VTEwsCisJ Q09OU1RSQUlOVCB0NV9wa2V5IFBSSU1BUlkgS0VZIChjMSwgYzQgV0lUSE9VVCBPVkVSTEFQUykK Kyk7CiAKIC0tIERpc2FibGUgYXV0b3ZhY3V1bSBmb3IgdGhlc2UgdGFibGVzIHRvIGF2b2lkIHVu ZXhwZWN0ZWQgZWZmZWN0cyBvZiB0aGF0CiBBTFRFUiBUQUJMRSAiUyAxIi4iVCAxIiBTRVQgKGF1 dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwogQUxURVIgVEFCTEUgIlMgMSIuIlQgMiIgU0VU IChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIEFMVEVSIFRBQkxFICJTIDEiLiJUIDMi IFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CiBBTFRFUiBUQUJMRSAiUyAxIi4i VCA0IiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOworQUxURVIgVEFCTEUgIlMg MSIuIlQgNSIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIAogSU5TRVJUIElO VE8gIlMgMSIuIlQgMSIKIAlTRUxFQ1QgaWQsCkBAIC04NywxMSArOTUsMTggQEAgSU5TRVJUIElO VE8gIlMgMSIuIlQgNCIKIAkgICAgICAgJ0FBQScgfHwgdG9fY2hhcihpZCwgJ0ZNMDAwJykKIAlG Uk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDApIGlkOwogREVMRVRFIEZST00gIlMgMSIuIlQgNCIg V0hFUkUgYzEgJSAzICE9IDA7CS0tIGRlbGV0ZSBmb3Igb3V0ZXIgam9pbiB0ZXN0cworSU5TRVJU IElOVE8gIlMgMSIuIlQgNSIKKwlTRUxFQ1QgaW50NHJhbmdlKGlkLCBpZCArIDEpLAorCSAgICAg ICBpZCArIDEsCisJICAgICAgICdBQUEnIHx8IHRvX2NoYXIoaWQsICdGTTAwMCcpLAorICAgICAg ICAnWzIwMDAtMDEtMDEsMjAyMC0wMS0wMSknCisJRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAw KSBpZDsKIAogQU5BTFlaRSAiUyAxIi4iVCAxIjsKIEFOQUxZWkUgIlMgMSIuIlQgMiI7CiBBTkFM WVpFICJTIDEiLiJUIDMiOwogQU5BTFlaRSAiUyAxIi4iVCA0IjsKK0FOQUxZWkUgIlMgMSIuIlQg NSI7CiAKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tIGNyZWF0ZSBmb3JlaWduIHRhYmxlcwpAQCAtMTQ2LDYg KzE2MSwxNCBAQCBDUkVBVEUgRk9SRUlHTiBUQUJMRSBmdDcgKAogCWMzIHRleHQKICkgU0VSVkVS IGxvb3BiYWNrMyBPUFRJT05TIChzY2hlbWFfbmFtZSAnUyAxJywgdGFibGVfbmFtZSAnVCA0Jyk7 CiAKK0NSRUFURSBGT1JFSUdOIFRBQkxFIGZ0OCAoCisJYzEgaW50NHJhbmdlIE5PVCBOVUxMLAor CWMyIGludCBOT1QgTlVMTCwKKwljMyB0ZXh0LAorCWM0IGRhdGVyYW5nZSBOT1QgTlVMTAorKSBT RVJWRVIgbG9vcGJhY2sgT1BUSU9OUyAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25hbWUgJ1Qg NScpOworCisKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tIHRlc3RzIGZvciB2YWxpZGF0b3IKIC0tID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KQEAgLTE1MzgsNiArMTU2MSwxNyBAQCBFWFBMQUlOICh2ZXJib3NlLCBjb3N0cyBvZmYp CiBERUxFVEUgRlJPTSBmdDIgV0hFUkUgYzEgPSAxMjAwIFJFVFVSTklORyB0YWJsZW9pZDo6cmVn Y2xhc3M7ICAgICAgICAgICAgICAgICAgICAgICAtLSBjYW4gYmUgcHVzaGVkIGRvd24KIERFTEVU RSBGUk9NIGZ0MiBXSEVSRSBjMSA9IDEyMDAgUkVUVVJOSU5HIHRhYmxlb2lkOjpyZWdjbGFzczsK IAorLS0gVGVzdCBVUERBVEUgRk9SIFBPUlRJT04gT0YKK1VQREFURSBmdDggRk9SIFBPUlRJT04g T0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIwMDYtMDEtMDEnCitTRVQgYzIgPSBjMiArIDEK K1dIRVJFIGMxID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZnQ4IFdIRVJFIGMxID0gJ1sxLDIp JyBPUkRFUiBCWSBjMSwgYzQ7CisKKy0tIFRlc3QgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitERUxF VEUgRlJPTSBmdDggRk9SIFBPUlRJT04gT0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIwMDYt MDEtMDEnCitXSEVSRSBjMSA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZ0OCBXSEVSRSBjMSA9 ICdbMiwzKScgT1JERVIgQlkgYzEsIGM0OworCiAtLSBUZXN0IFVQREFURS9ERUxFVEUgd2l0aCBS RVRVUk5JTkcgb24gYSB0aHJlZS10YWJsZSBqb2luCiBJTlNFUlQgSU5UTyBmdDIgKGMxLGMyLGMz KQogICBTRUxFQ1QgaWQsIGlkIC0gMTIwMCwgdG9fY2hhcihpZCwgJ0ZNMDAwMDAnKSBGUk9NIGdl bmVyYXRlX3NlcmllcygxMjAxLCAxMzAwKSBpZDsKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJs aWNhdGlvbi5zZ21sCmluZGV4IDY2YTcwZTVjNWI1Li42YWM4ZjkzNWE3OCAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCkBAIC0zOTAsNiArMzkwLDEyIEBAIENSRUFU RSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFj ZWFibGU+CiAgICBmb3IgZWFjaCByb3cgaW5zZXJ0ZWQsIHVwZGF0ZWQsIG9yIGRlbGV0ZWQuCiAg IDwvcGFyYT4KIAorICA8cGFyYT4KKyAgIEZvciBhIDxjb21tYW5kPkZPUiBQT1JUSU9OIE9GPC9j b21tYW5kPiBjb21tYW5kLCB0aGUgcHVibGljYXRpb24gd2lsbCBwdWJsaXNoIGFuCisgICA8Y29t bWFuZD5VUERBVEU8L2NvbW1hbmQ+IG9yIDxjb21tYW5kPkRFTEVURTwvY29tbWFuZD4sIGZvbGxv d2VkIGJ5IG9uZQorICAgPGNvbW1hbmQ+SU5TRVJUPC9jb21tYW5kPiBmb3IgZWFjaCB0ZW1wb3Jh bCBsZWZ0b3ZlciByb3cgaW5zZXJ0ZWQuCisgIDwvcGFyYT4KKwogICA8cGFyYT4KICAgIDxjb21t YW5kPkFUVEFDSDwvY29tbWFuZD5pbmcgYSB0YWJsZSBpbnRvIGEgcGFydGl0aW9uIHRyZWUgd2hv c2Ugcm9vdCBpcwogICAgcHVibGlzaGVkIHVzaW5nIGEgcHVibGljYXRpb24gd2l0aCA8bGl0ZXJh bD5wdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdDwvbGl0ZXJhbD4KZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9yZWYvZGVsZXRlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sCmlu ZGV4IDI5NjQ5ZjZhZmQ2Li5mNDI1MzA5ZmQ1ZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3Jl Zi9kZWxldGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sCkBAIC0yMiw3 ICsyMiw5IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogIDxyZWZzeW5vcHNpc2Rpdj4KIDxz eW5vcHNpcz4KIFsgV0lUSCBbIFJFQ1VSU0lWRSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj53aXRoX3F1ZXJ5PC9yZXBsYWNlYWJsZT4gWywgLi4uXSBdCi1ERUxFVEUgRlJPTSBbIE9O TFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFi bGU+IFsgKiBdIFsgWyBBUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlhczwv cmVwbGFjZWFibGU+IF0KK0RFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KKyAgICBbIEZPUiBQT1JU SU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNl YWJsZT4gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3Rhcmdl dDwvcmVwbGFjZWFibGU+IF0KKyAgICBbIFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+YWxpYXM8L3JlcGxhY2VhYmxlPiBdCiAgICAgWyBVU0lORyA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+ZnJvbV9pdGVtPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBdCiAgICAgWyBX SEVSRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29uZGl0aW9uPC9yZXBsYWNlYWJs ZT4gfCBXSEVSRSBDVVJSRU5UIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jdXJz b3JfbmFtZTwvcmVwbGFjZWFibGU+IF0KICAgICBbIFJFVFVSTklORyBbIFdJVEggKCB7IE9MRCB8 IE5FVyB9IEFTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vdXRwdXRfYWxpYXM8L3Jl cGxhY2VhYmxlPiBbLCAuLi5dICkgXQpAQCAtNTUsNiArNTcsNDMgQEAgREVMRVRFIEZST00gWyBP TkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2Vh YmxlPiBbICoKICAgIGNpcmN1bXN0YW5jZXMuCiAgIDwvcGFyYT4KIAorICA8cGFyYT4KKyAgIElm IHRoZSB0YWJsZSBoYXMgYSByYW5nZSBvciBtdWx0aXJhbmdlIGNvbHVtbiwKKyAgIHlvdSBtYXkg c3VwcGx5IGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVzZSwgYW5kIHlv dXIgZGVsZXRlIHdpbGwKKyAgIG9ubHkgYWZmZWN0IHJvd3MgdGhhdCBvdmVybGFwIHRoZSBnaXZl biBpbnRlcnZhbC4gRnVydGhlcm1vcmUsIGlmIGEgcm93J3MgaGlzdG9yeQorICAgZXh0ZW5kcyBv dXRzaWRlIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91bmRzLCB0aGVu IHlvdXIgZGVsZXRlCisgICB3aWxsIG9ubHkgY2hhbmdlIHRoZSBoaXN0b3J5IHdpdGhpbiB0aG9z ZSBib3VuZHMuIEluIGVmZmVjdCB5b3UgYXJlIGRlbGV0aW5nIGFueQorICAgbW9tZW50IHRhcmdl dGVkIGJ5IDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBhbmQgbm8gbW9tZW50cyBv dXRzaWRlLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBTcGVjaWZpY2FsbHksIGFmdGVyIDxw cm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gZGVsZXRlcyB0aGUgZXhpc3Rpbmcg cm93LAorICAgaXQgd2lsbCA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+CisgICBuZXcgPGdsb3Nz dGVybSBsaW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMiPnRlbXBvcmFsIGxlZnRv dmVyczwvZ2xvc3N0ZXJtPjoKKyAgIHJvd3Mgd2hvc2UgcmFuZ2Ugb3IgbXVsdGlyYW5nZSByZWNl aXZlIHRoZSByZW1haW5pbmcgaGlzdG9yeSBvdXRzaWRlCisgICB0aGUgdGFyZ2V0ZWQgYm91bmRz LCB3aXRoIHVuLXVwZGF0ZWQgdmFsdWVzIGluIHRoZWlyIG90aGVyIGNvbHVtbnMuCisgICBUaGVy ZSB3aWxsIGJlIHplcm8gdG8gdHdvIGluc2VydGVkIHJlY29yZHMsCisgICBkZXBlbmRpbmcgb24g d2hldGhlciB0aGUgb3JpZ2luYWwgaGlzdG9yeSBleHRlbmRlZCBiZWZvcmUgdGhlIHRhcmdldGVk CisgICA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPiwgYWZ0ZXIgdGhlIHRhcmdldGVkIDxsaXRlcmFs PlRPPC9saXRlcmFsPiwgYm90aCwgb3IgbmVpdGhlci4KKyAgIE11bHRpcmFuZ2VzIG5ldmVyIHJl cXVpcmUgdHdvIHRlbXBvcmFsIGxlZnRvdmVycywgYmVjYXVzZSBvbmUgdmFsdWUgY2FuIGFsd2F5 cyBjb250YWluCisgICB3aGF0ZXZlciBoaXN0b3J5IHJlbWFpbnMuCisgIDwvcGFyYT4KKworICA8 cGFyYT4KKyAgIFRoZXNlIHNlY29uZGFyeSBpbnNlcnRzIGZpcmUgPGxpdGVyYWw+SU5TRVJUPC9s aXRlcmFsPiB0cmlnZ2Vycy4KKyAgIEJvdGggPGxpdGVyYWw+U1RBVEVNRU5UPC9saXRlcmFsPiBh bmQgPGxpdGVyYWw+Uk9XPC9saXRlcmFsPiB0cmlnZ2VycyBhcmUgZmlyZWQuCisgICBUaGUgPGxp dGVyYWw+QkVGT1JFIERFTEVURTwvbGl0ZXJhbD4gdHJpZ2dlcnMgYXJlIGZpcmVkIGZpcnN0LCB0 aGVuCisgICA8bGl0ZXJhbD5CRUZPUkUgSU5TRVJUPC9saXRlcmFsPiwgdGhlbiA8bGl0ZXJhbD5B RlRFUiBJTlNFUlQ8L2xpdGVyYWw+LAorICAgdGhlbiA8bGl0ZXJhbD5BRlRFUiBERUxFVEU8L2xp dGVyYWw+LgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGVzZSBzZWNvbmRhcnkgaW5zZXJ0 cyBkbyBub3QgcmVxdWlyZSA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+IHByaXZpbGVnZSBvbiB0 aGUgdGFibGUuCisgICBUaGlzIGlzIGJlY2F1c2UgY29uY2VwdHVhbGx5IG5vIG5ldyBpbmZvcm1h dGlvbiBoYXMgYmVlbiBhZGRlZC4gVGhlIGluc2VydGVkIHJvd3Mgb25seSBwcmVzZXJ2ZQorICAg ZXhpc3RpbmcgZGF0YSBhYm91dCB0aGUgdW50YXJnZXRlZCB0aW1lIHBlcmlvZC4gTm90ZSB0aGlz IG1heSByZXN1bHQgaW4gdXNlcnMgZmlyaW5nIDxsaXRlcmFsPklOU0VSVDwvbGl0ZXJhbD4KKyAg IHRyaWdnZXJzIHdobyBkb24ndCBoYXZlIGluc2VydCBwcml2aWxlZ2VzLCBzbyBiZSBjYXJlZnVs IGFib3V0IDxsaXRlcmFsPlNFQ1VSSVRZIERFRklORVI8L2xpdGVyYWw+IHRyaWdnZXIgZnVuY3Rp b25zIQorICA8L3BhcmE+CisKICAgPHBhcmE+CiAgICBUaGUgb3B0aW9uYWwgPGxpdGVyYWw+UkVU VVJOSU5HPC9saXRlcmFsPiBjbGF1c2UgY2F1c2VzIDxjb21tYW5kPkRFTEVURTwvY29tbWFuZD4K ICAgIHRvIGNvbXB1dGUgYW5kIHJldHVybiB2YWx1ZShzKSBiYXNlZCBvbiBlYWNoIHJvdyBhY3R1 YWxseSBkZWxldGVkLgpAQCAtMTE3LDYgKzE1Niw1NyBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsg KgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgPHZhcmxpc3RlbnRy eT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwv cmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBU aGUgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBjb2x1bW4gdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRl bXBvcmFsIGRlbGV0ZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxp c3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Zm9yX3BvcnRpb25fb2ZfdGFyZ2V0PC9yZXBsYWNlYWJsZT48L3Rlcm0+ CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBpbnRlcnZhbCB0byBkZWxl dGUuIElmIHlvdSBhcmUgdGFyZ2V0aW5nIGEgcmFuZ2UgY29sdW1uLAorICAgICAgeW91IG1heSBn aXZlIHRoaXMgaW4gdGhlIGZvcm0gPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4KKyAgICAgIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFydF90aW1lPC9yZXBsYWNlYWJsZT4gPGxpdGVy YWw+VE88L2xpdGVyYWw+CisgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5k X3RpbWU8L3JlcGxhY2VhYmxlPi4KKyAgICAgIE90aGVyd2lzZSB5b3UgbXVzdCB1c2UKKyAgICAg IDxsaXRlcmFsPig8L2xpdGVyYWw+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJl c3Npb248L3JlcGxhY2VhYmxlPjxsaXRlcmFsPik8L2xpdGVyYWw+CisgICAgICB3aGVyZSB0aGUg ZXhwcmVzc2lvbiB5aWVsZHMgYSB2YWx1ZSBvZiB0aGUgc2FtZSB0eXBlIGFzCisgICAgICA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LgorICAg ICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFy bGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFy dF90aW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4K KyAgICAgIFRoZSBlYXJsaWVzdCB0aW1lIChpbmNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBv cmFsIGRlbGV0ZS4KKyAgICAgIFRoaXMgbXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNl IHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xp dGVyYWw+IGhlcmUgaW5kaWNhdGVzIGEgZGVsZXRlIHdob3NlIGJlZ2lubmluZyBpcworICAgICAg dW5ib3VuZGVkIChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlz dGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVy bT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPjwv dGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIGxhdGVzdCB0aW1l IChleGNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFsIGRlbGV0ZS4KKyAgICAgIFRoaXMg bXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20K KyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNl YWJsZT4uIEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVzIGEg ZGVsZXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKKyAgICAgIChhcyB3aXRoIHJhbmdlIHR5cGVz KS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwog ICAgPHZhcmxpc3RlbnRyeT4KICAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+ZnJvbV9pdGVtPC9yZXBsYWNlYWJsZT48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgpAQCAtMjM4 LDYgKzMyOCwxMCBAQCBERUxFVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvdW50 PC9yZXBsYWNlYWJsZT4KICAgIHN1cHByZXNzZWQgYnkgYSA8bGl0ZXJhbD5CRUZPUkUgREVMRVRF PC9saXRlcmFsPiB0cmlnZ2VyLiAgSWYgPHJlcGxhY2VhYmxlCiAgICBjbGFzcz0icGFyYW1ldGVy Ij5jb3VudDwvcmVwbGFjZWFibGU+IGlzIDAsIG5vIHJvd3Mgd2VyZSBkZWxldGVkIGJ5CiAgICB0 aGUgcXVlcnkgKHRoaXMgaXMgbm90IGNvbnNpZGVyZWQgYW4gZXJyb3IpLgorICAgSWYgPGxpdGVy YWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IHdhcyB1c2VkLCB0aGUKKyAgIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb3VudDwvcmVwbGFjZWFibGU+IGFsc28gaW5jbHVkZXMKKyAg IDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtbGVmdG92ZXJzIj50ZW1wb3Jh bCBsZWZ0b3ZlcnM8L2dsb3NzdGVybT4KKyAgIHRoYXQgd2VyZSBpbnNlcnRlZC4KICAgPC9wYXJh PgogCiAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUuc2dtbCBi L2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKaW5kZXggNDBjY2EwNjM5NDYuLmFkMzIyNGMy ZGYyIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKQEAgLTIyLDcgKzIyLDkgQEAgUG9zdGdyZVNRTCBkb2N1 bWVudGF0aW9uCiAgPHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lzPgogWyBXSVRIIFsgUkVDVVJT SVZFIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPndpdGhfcXVlcnk8L3JlcGxhY2Vh YmxlPiBbLCAuLi5dIF0KLVVQREFURSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdIFsgWyBBUyBdIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlhczwvcmVwbGFjZWFibGU+IF0KK1VQREFURSBbIE9OTFkg XSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+ IFsgKiBdCisgICAgWyBGT1IgUE9SVElPTiBPRiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPiBdCisgICAgWyBbIEFTIF0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFsaWFzPC9yZXBsYWNlYWJsZT4gXQogICAgIFNF VCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFi bGU+ID0geyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFj ZWFibGU+IHwgREVGQVVMVCB9IHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9IFsgUk9XIF0gKCB7 IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4g fCBERUZBVUxUIH0gWywgLi4uXSApIHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9ICggPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN1Yi1TRUxFQ1Q8L3JlcGxhY2VhYmxlPiApCkBAIC01 Miw2ICs1NCw0NSBAQCBVUERBVEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXSBbCiAgICBjaXJjdW1zdGFuY2VzLgog ICA8L3BhcmE+CiAKKyAgPHBhcmE+CisgICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVs dGlyYW5nZSBjb2x1bW4sCisgICB5b3UgbWF5IHN1cHBseSBhIDxsaXRlcmFsPkZPUiBQT1JUSU9O IE9GPC9saXRlcmFsPiBjbGF1c2UsIGFuZCB5b3VyIHVwZGF0ZSB3aWxsCisgICBvbmx5IGFmZmVj dCByb3dzIHRoYXQgb3ZlcmxhcCB0aGUgZ2l2ZW4gaW50ZXJ2YWwuIEZ1cnRoZXJtb3JlLCBpZiBh IHJvdydzIGhpc3RvcnkKKyAgIGV4dGVuZHMgb3V0c2lkZSB0aGUgPGxpdGVyYWw+Rk9SIFBPUlRJ T04gT0Y8L2xpdGVyYWw+IGJvdW5kcywgdGhlbiB5b3VyIHVwZGF0ZQorICAgd2lsbCBvbmx5IGNo YW5nZSB0aGUgaGlzdG9yeSB3aXRoaW4gdGhvc2UgYm91bmRzLiBJbiBlZmZlY3QgeW91IGFyZSB1 cGRhdGluZyBhbnkKKyAgIG1vbWVudCB0YXJnZXRlZCBieSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBP RjwvbGl0ZXJhbD4gYW5kIG5vIG1vbWVudHMgb3V0c2lkZS4KKyAgPC9wYXJhPgorCisgIDxwYXJh PgorICAgU3BlY2lmaWNhbGx5LCB3aGVuIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0 bmFtZT4gdXBkYXRlcyB0aGUgZXhpc3Rpbmcgcm93LAorICAgaXQgd2lsbCBhbHNvIGNoYW5nZSB0 aGUgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBzbyB0aGF0IHRoZWlyIGludGVydmFsCisgICBubyBsb25n ZXIgZXh0ZW5kcyBiZXlvbmQgdGhlIHRhcmdldGVkIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9s aXRlcmFsPiBib3VuZHMuCisgICBUaGVuIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0 bmFtZT4gd2lsbCA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+CisgICBuZXcgPGdsb3NzdGVybSBs aW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMiPnRlbXBvcmFsIGxlZnRvdmVyczwv Z2xvc3N0ZXJtPjoKKyAgIHJvd3Mgd2hvc2UgcmFuZ2Ugb3IgbXVsdGlyYW5nZSByZWNlaXZlIHRo ZSByZW1haW5pbmcgaGlzdG9yeSBvdXRzaWRlCisgICB0aGUgdGFyZ2V0ZWQgYm91bmRzLCB3aXRo IHVuLXVwZGF0ZWQgdmFsdWVzIGluIHRoZWlyIG90aGVyIGNvbHVtbnMuCisgICBUaGVyZSB3aWxs IGJlIHplcm8gdG8gdHdvIGluc2VydGVkIHJlY29yZHMsCisgICBkZXBlbmRpbmcgb24gd2hldGhl ciB0aGUgb3JpZ2luYWwgaGlzdG9yeSBleHRlbmRlZCBiZWZvcmUgdGhlIHRhcmdldGVkCisgICA8 bGl0ZXJhbD5GUk9NPC9saXRlcmFsPiwgYWZ0ZXIgdGhlIHRhcmdldGVkIDxsaXRlcmFsPlRPPC9s aXRlcmFsPiwgYm90aCwgb3IgbmVpdGhlci4KKyAgIE11bHRpcmFuZ2VzIG5ldmVyIHJlcXVpcmUg dHdvIHRlbXBvcmFsIGxlZnRvdmVycywgYmVjYXVzZSBvbmUgdmFsdWUgY2FuIGFsd2F5cyBjb250 YWluCisgICB3aGF0ZXZlciBoaXN0b3J5IHJlbWFpbnMuCisgIDwvcGFyYT4KKworICA8cGFyYT4K KyAgIFRoZXNlIHNlY29uZGFyeSBpbnNlcnRzIGZpcmUgPGxpdGVyYWw+SU5TRVJUPC9saXRlcmFs PiB0cmlnZ2Vycy4KKyAgIEJvdGggPGxpdGVyYWw+U1RBVEVNRU5UPC9saXRlcmFsPiBhbmQgPGxp dGVyYWw+Uk9XPC9saXRlcmFsPiB0cmlnZ2VycyBhcmUgZmlyZWQuCisgICBUaGUgPGxpdGVyYWw+ QkVGT1JFIFVQREFURTwvbGl0ZXJhbD4gdHJpZ2dlcnMgYXJlIGZpcmVkIGZpcnN0LCB0aGVuCisg ICA8bGl0ZXJhbD5CRUZPUkUgSU5TRVJUPC9saXRlcmFsPiwgdGhlbiA8bGl0ZXJhbD5BRlRFUiBJ TlNFUlQ8L2xpdGVyYWw+LAorICAgdGhlbiA8bGl0ZXJhbD5BRlRFUiBVUERBVEU8L2xpdGVyYWw+ LgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGVzZSBzZWNvbmRhcnkgaW5zZXJ0cyBkbyBu b3QgcmVxdWlyZSA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+IHByaXZpbGVnZSBvbiB0aGUgdGFi bGUuCisgICBUaGlzIGlzIGJlY2F1c2UgY29uY2VwdHVhbGx5IG5vIG5ldyBpbmZvcm1hdGlvbiBo YXMgYmVlbiBhZGRlZC4gVGhlIGluc2VydGVkIHJvd3Mgb25seSBwcmVzZXJ2ZQorICAgZXhpc3Rp bmcgZGF0YSBhYm91dCB0aGUgdW50YXJnZXRlZCB0aW1lIHBlcmlvZC4gTm90ZSB0aGlzIG1heSBy ZXN1bHQgaW4gdXNlcnMgZmlyaW5nIDxsaXRlcmFsPklOU0VSVDwvbGl0ZXJhbD4KKyAgIHRyaWdn ZXJzIHdobyBkb24ndCBoYXZlIGluc2VydCBwcml2aWxlZ2VzLCBzbyBiZSBjYXJlZnVsIGFib3V0 IDxsaXRlcmFsPlNFQ1VSSVRZIERFRklORVI8L2xpdGVyYWw+IHRyaWdnZXIgZnVuY3Rpb25zIQor ICA8L3BhcmE+CisKICAgPHBhcmE+CiAgICBUaGUgb3B0aW9uYWwgPGxpdGVyYWw+UkVUVVJOSU5H PC9saXRlcmFsPiBjbGF1c2UgY2F1c2VzIDxjb21tYW5kPlVQREFURTwvY29tbWFuZD4KICAgIHRv IGNvbXB1dGUgYW5kIHJldHVybiB2YWx1ZShzKSBiYXNlZCBvbiBlYWNoIHJvdyBhY3R1YWxseSB1 cGRhdGVkLgpAQCAtMTE2LDYgKzE1Nyw1NyBAQCBVUERBVEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXSBbCiAgICAg PC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCisgICA8dmFybGlzdGVudHJ5PgorICAg IDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNl YWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSByYW5n ZSBvciBtdWx0aXJhbmdlIGNvbHVtbiB0byB1c2Ugd2hlbiBwZXJmb3JtaW5nIGEgdGVtcG9yYWwg dXBkYXRlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5 PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8 bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIGludGVydmFsIHRvIHVwZGF0ZS4gSWYg eW91IGFyZSB0YXJnZXRpbmcgYSByYW5nZSBjb2x1bW4sCisgICAgICB5b3UgbWF5IGdpdmUgdGhp cyBpbiB0aGUgZm9ybSA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPgorICAgICAgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnN0YXJ0X3RpbWU8L3JlcGxhY2VhYmxlPiA8bGl0ZXJhbD5UTzwv bGl0ZXJhbD4KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5lbmRfdGltZTwv cmVwbGFjZWFibGU+LgorICAgICAgT3RoZXJ3aXNlIHlvdSBtdXN0IHVzZQorICAgICAgPGxpdGVy YWw+KDwvbGl0ZXJhbD48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwv cmVwbGFjZWFibGU+PGxpdGVyYWw+KTwvbGl0ZXJhbD4KKyAgICAgIHdoZXJlIHRoZSBleHByZXNz aW9uIHlpZWxkcyBhIHZhbHVlIG9mIHRoZSBzYW1lIHR5cGUgYXMKKyAgICAgIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uCisgICAgIDwvcGFy YT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50 cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN0YXJ0X3RpbWU8 L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAg VGhlIGVhcmxpZXN0IHRpbWUgKGluY2x1c2l2ZSkgdG8gY2hhbmdlIGluIGEgdGVtcG9yYWwgdXBk YXRlLgorICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBv ZiB0aGUgcmFuZ2UgZnJvbQorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJh bmdlX25hbWU8L3JlcGxhY2VhYmxlPi4gQQorICAgICAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4g aGVyZSBpbmRpY2F0ZXMgYW4gdXBkYXRlIHdob3NlIGJlZ2lubmluZyBpcworICAgICAgdW5ib3Vu ZGVkIChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+ CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4K KyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIGxhdGVzdCB0aW1lIChleGNs dXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFsIHVwZGF0ZS4KKyAgICAgIFRoaXMgbXVzdCBi ZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KKyAgICAg IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4u IEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVzIGFuIHVwZGF0 ZSB3aG9zZSBlbmQgaXMgdW5ib3VuZGVkCisgICAgICAoYXMgd2l0aCByYW5nZSB0eXBlcykuCisg ICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2 YXJsaXN0ZW50cnk+CiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNv bHVtbl9uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgpAQCAtMjgzLDYg KzM3NSwxMCBAQCBVUERBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvdW50PC9y ZXBsYWNlYWJsZT4KICAgIHVwZGF0ZXMgd2VyZSBzdXBwcmVzc2VkIGJ5IGEgPGxpdGVyYWw+QkVG T1JFIFVQREFURTwvbGl0ZXJhbD4gdHJpZ2dlci4gIElmCiAgICA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPiBpcyAwLCBubyByb3dzIHdlcmUKICAgIHVw ZGF0ZWQgYnkgdGhlIHF1ZXJ5ICh0aGlzIGlzIG5vdCBjb25zaWRlcmVkIGFuIGVycm9yKS4KKyAg IElmIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiB3YXMgdXNlZCwgdGhlCisgICA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPiBhbHNvIGlu Y2x1ZGVzCisgICA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVy cyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+CisgICB0aGF0IHdlcmUgaW5zZXJ0ZWQu CiAgIDwvcGFyYT4KIAogICA8cGFyYT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC90cmlnZ2Vy LnNnbWwgYi9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sCmluZGV4IGJiMWI1ZmFmMzRlLi5lM2Fk OTgwNjUyOCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbAorKysgYi9kb2Mv c3JjL3NnbWwvdHJpZ2dlci5zZ21sCkBAIC0zNzMsNiArMzczLDE1IEBACiAgICAgcmVzcG9uc2li aWxpdHkgdG8gYXZvaWQgdGhhdC4KICAgIDwvcGFyYT4KIAorICAgPHBhcmE+CisgICAgSWYgYW4g PGNvbW1hbmQ+VVBEQVRFPC9jb21tYW5kPiBvciA8Y29tbWFuZD5ERUxFVEU8L2NvbW1hbmQ+IHVz ZXMKKyAgICA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4sIGNhdXNpbmcgbmV3IHJv d3MgdG8gYmUgaW5zZXJ0ZWQKKyAgICB0byBwcmVzZXJ2ZSB0aGUgbGVmdG92ZXIgdW50YXJnZXRl ZCBwYXJ0IG9mIG1vZGlmaWVkIHJlY29yZHMsIHRoZW4KKyAgICA8Y29tbWFuZD5JTlNFUlQ8L2Nv bW1hbmQ+IHRyaWdnZXJzIGFyZSBmaXJlZCBmb3IgZWFjaCBpbnNlcnRlZAorICAgIHJvdy4gRWFj aCByb3cgaXMgaW5zZXJ0ZWQgc2VwYXJhdGVseSwgc28gdGhleSBmaXJlIHRoZWlyIG93bgorICAg IHN0YXRlbWVudCB0cmlnZ2VycywgYW5kIHRoZXkgaGF2ZSB0aGVpciBvd24gdHJhbnNpdGlvbiB0 YWJsZXMuCisgICA8L3BhcmE+CisKICAgIDxwYXJhPgogICAgIDxpbmRleHRlcm0+CiAgICAgIDxw cmltYXJ5PnRyaWdnZXI8L3ByaW1hcnk+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRv ci9leGVjTWFpbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYwppbmRleCA3MTNl OTI2MzI5Yy4uNGYwYjI0YWZmMDEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4 ZWNNYWluLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYwpAQCAtMTI5NSw2 ICsxMjk1LDcgQEAgSW5pdFJlc3VsdFJlbEluZm8oUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5m bywKIAlyZXN1bHRSZWxJbmZvLT5yaV9wcm9qZWN0UmV0dXJuaW5nID0gTlVMTDsKIAlyZXN1bHRS ZWxJbmZvLT5yaV9vbkNvbmZsaWN0QXJiaXRlckluZGV4ZXMgPSBOSUw7CiAJcmVzdWx0UmVsSW5m by0+cmlfb25Db25mbGljdCA9IE5VTEw7CisJcmVzdWx0UmVsSW5mby0+cmlfZm9yUG9ydGlvbk9m ID0gTlVMTDsKIAlyZXN1bHRSZWxJbmZvLT5yaV9SZXR1cm5pbmdTbG90ID0gTlVMTDsKIAlyZXN1 bHRSZWxJbmZvLT5yaV9UcmlnT2xkU2xvdCA9IE5VTEw7CiAJcmVzdWx0UmVsSW5mby0+cmlfVHJp Z05ld1Nsb3QgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1v ZGlmeVRhYmxlLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYwppbmRl eCA0YzU2NDdhYzM4YS4uMzUwNzE0MzUzYzkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1 dG9yL25vZGVNb2RpZnlUYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVNb2Rp ZnlUYWJsZS5jCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCiAj aW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKICNpbmNsdWRlICJ1dGlscy9kYXR1bS5oIgorI2lu Y2x1ZGUgInV0aWxzL3JhbmdldHlwZXMuaCIKICNpbmNsdWRlICJ1dGlscy9yZWwuaCIKICNpbmNs dWRlICJ1dGlscy9zbmFwbWdyLmgiCiAKQEAgLTEzMSw3ICsxMzIsNiBAQCB0eXBlZGVmIHN0cnVj dCBVcGRhdGVDb250ZXh0CiAJTG9ja1R1cGxlTW9kZSBsb2NrbW9kZTsKIH0gVXBkYXRlQ29udGV4 dDsKIAotCiBzdGF0aWMgdm9pZCBFeGVjQmF0Y2hJbnNlcnQoTW9kaWZ5VGFibGVTdGF0ZSAqbXRz dGF0ZSwKIAkJCQkJCQlSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCQkJCQkJCVR1cGxl VGFibGVTbG90ICoqc2xvdHMsCkBAIC0xNTIsNiArMTUyLDEwIEBAIHN0YXRpYyBib29sIEV4ZWNP bkNvbmZsaWN0VXBkYXRlKE1vZGlmeVRhYmxlQ29udGV4dCAqY29udGV4dCwKIAkJCQkJCQkJIFR1 cGxlVGFibGVTbG90ICpleGNsdWRlZFNsb3QsCiAJCQkJCQkJCSBib29sIGNhblNldFRhZywKIAkJ CQkJCQkJIFR1cGxlVGFibGVTbG90ICoqcmV0dXJuaW5nKTsKK3N0YXRpYyB2b2lkIEV4ZWNGb3JQ b3J0aW9uT2ZMZWZ0b3ZlcnMoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAorCQkJCQkJCQkJ ICBFU3RhdGUgKmVzdGF0ZSwKKwkJCQkJCQkJCSAgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5m bywKKwkJCQkJCQkJCSAgSXRlbVBvaW50ZXIgdHVwbGVpZCk7CiBzdGF0aWMgVHVwbGVUYWJsZVNs b3QgKkV4ZWNQcmVwYXJlVHVwbGVSb3V0aW5nKE1vZGlmeVRhYmxlU3RhdGUgKm10c3RhdGUsCiAJ CQkJCQkJCQkJCSAgIEVTdGF0ZSAqZXN0YXRlLAogCQkJCQkJCQkJCQkgICBQYXJ0aXRpb25UdXBs ZVJvdXRpbmcgKnByb3V0ZSwKQEAgLTE3NCw2ICsxNzgsOSBAQCBzdGF0aWMgVHVwbGVUYWJsZVNs b3QgKkV4ZWNNZXJnZU1hdGNoZWQoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAogc3RhdGlj IFR1cGxlVGFibGVTbG90ICpFeGVjTWVyZ2VOb3RNYXRjaGVkKE1vZGlmeVRhYmxlQ29udGV4dCAq Y29udGV4dCwKIAkJCQkJCQkJCQkgICBSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCQkJ CQkJCQkJCSAgIGJvb2wgY2FuU2V0VGFnKTsKK3N0YXRpYyB2b2lkIEV4ZWNTZXR1cFRyYW5zaXRp b25DYXB0dXJlU3RhdGUoTW9kaWZ5VGFibGVTdGF0ZSAqbXRzdGF0ZSwgRVN0YXRlICplc3RhdGUp Oworc3RhdGljIHZvaWQgZmlyZUJTVHJpZ2dlcnMoTW9kaWZ5VGFibGVTdGF0ZSAqbm9kZSk7Citz dGF0aWMgdm9pZCBmaXJlQVNUcmlnZ2VycyhNb2RpZnlUYWJsZVN0YXRlICpub2RlKTsKIAogCiAv KgpAQCAtMTM1NSw2ICsxMzYyLDE5MyBAQCBFeGVjSW5zZXJ0KE1vZGlmeVRhYmxlQ29udGV4dCAq Y29udGV4dCwKIAlyZXR1cm4gcmVzdWx0OwogfQogCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgkJRXhlY0ZvclBv cnRpb25PZkxlZnRvdmVycworICoKKyAqCQlJbnNlcnQgdHVwbGVzIGZvciB0aGUgdW50b3VjaGVk IHBvcnRpb24gb2YgYSByb3cgaW4gYSBGT1IKKyAqCQlQT1JUSU9OIE9GIFVQREFURS9ERUxFVEUK KyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQKK0V4ZWNGb3JQb3J0aW9uT2ZMZWZ0b3ZlcnMo TW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAorCQkJCQkJICBFU3RhdGUgKmVzdGF0ZSwKKwkJ CQkJCSAgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5mbywKKwkJCQkJCSAgSXRlbVBvaW50ZXIg dHVwbGVpZCkKK3sKKwlNb2RpZnlUYWJsZVN0YXRlICptdHN0YXRlID0gY29udGV4dC0+bXRzdGF0 ZTsKKwlNb2RpZnlUYWJsZSAqbm9kZSA9IChNb2RpZnlUYWJsZSAqKSBtdHN0YXRlLT5wcy5wbGFu OworCUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiA9IChGb3JQb3J0aW9uT2ZFeHByICop IG5vZGUtPmZvclBvcnRpb25PZjsKKwlBdHRyTnVtYmVyCXJhbmdlQXR0bm87CisJRGF0dW0JCW9s ZFJhbmdlOworCVR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZTsKKwlGb3JQb3J0aW9uT2ZTdGF0ZSAq ZnBvU3RhdGUgPSByZXN1bHRSZWxJbmZvLT5yaV9mb3JQb3J0aW9uT2Y7CisJVHVwbGVUYWJsZVNs b3QgKm9sZHR1cGxlU2xvdCA9IGZwb1N0YXRlLT5mcF9FeGlzdGluZzsKKwlUdXBsZVRhYmxlU2xv dCAqbGVmdG92ZXJTbG90ID0gZnBvU3RhdGUtPmZwX0xlZnRvdmVyOworCVR1cGxlQ29udmVyc2lv bk1hcCAqbWFwID0gTlVMTDsKKwlIZWFwVHVwbGUJb2xkdHVwbGUgPSBOVUxMOworCUNtZFR5cGUJ CW9sZE9wZXJhdGlvbjsKKwlUcmFuc2l0aW9uQ2FwdHVyZVN0YXRlICpvbGRUY3M7CisJRm1ncklu Zm8JZmxpbmZvOworCVJldHVyblNldEluZm8gcnNpOworCWJvb2wJCWRpZEluaXQgPSBmYWxzZTsK Kwlib29sCQlzaG91bGRGcmVlID0gZmFsc2U7CisKKwlMT0NBTF9GQ0lORk8oZmNpbmZvLCAyKTsK KworCS8qCisJICogR2V0IHRoZSByYW5nZSBvZiB0aGUgb2xkIHByZS1VUERBVEUvREVMRVRFIHR1 cGxlLCBzbyB3ZSBjYW4gaW50ZXJzZWN0CisJICogaXQgd2l0aCB0aGUgRk9SIFBPUlRJT04gT0Yg dGFyZ2V0IGFuZCBzZWUgaWYgdGhlcmUgYXJlIGFueSB0ZW1wb3JhbAorCSAqIGxlZnRvdmVycyB0 byBpbnNlcnQuCisJICoKKwkgKiBXZSBoYXZlIGFscmVhZHkgbG9ja2VkIHRoZSB0dXBsZSBpbiBF eGVjVXBkYXRlL0V4ZWNEZWxldGUgYW5kIGl0IGhhcworCSAqIHBhc3NlZCBFdmFsUGxhblF1YWwu IE1ha2Ugc3VyZSB3ZSdyZSBsb29raW5nIGF0IHRoZSBtb3N0IHJlY2VudAorCSAqIHZlcnNpb24u IE90aGVyd2lzZSBjb25jdXJyZW50IHVwZGF0ZXMgb2YgdGhlIHNhbWUgdHVwbGUgaW4gUkVBRAor CSAqIENPTU1JVFRFRCBjb3VsZCBpbnNlcnQgY29uZmxpY3RpbmcgdGVtcG9yYWwgbGVmdG92ZXJz LgorCSAqLworCWlmICghdGFibGVfdHVwbGVfZmV0Y2hfcm93X3ZlcnNpb24ocmVzdWx0UmVsSW5m by0+cmlfUmVsYXRpb25EZXNjLCB0dXBsZWlkLCBTbmFwc2hvdEFueSwgb2xkdHVwbGVTbG90KSkK KwkJZWxvZyhFUlJPUiwgImZhaWxlZCB0byBmZXRjaCB0dXBsZSBmb3IgRk9SIFBPUlRJT04gT0Yi KTsKKworCS8qCisJICogR2V0IHRoZSBvbGQgcmFuZ2Ugb2YgdGhlIHJlY29yZCBiZWluZyB1cGRh dGVkL2RlbGV0ZWQuIE11c3QgcmVhZCB3aXRoCisJICogdGhlIGF0dG5vIG9mIHRoZSBsZWFmIHBh cnRpdGlvbiBiZWluZyB1cGRhdGVkLgorCSAqLworCisJcmFuZ2VBdHRubyA9IGZvclBvcnRpb25P Zi0+cmFuZ2VWYXItPnZhcmF0dG5vOworCWlmIChyZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0 UmVsSW5mbykKKwkJbWFwID0gRXhlY0dldENoaWxkVG9Sb290TWFwKHJlc3VsdFJlbEluZm8pOwor CWlmIChtYXAgIT0gTlVMTCkKKwkJcmFuZ2VBdHRubyA9IG1hcC0+YXR0ck1hcC0+YXR0bnVtc1ty YW5nZUF0dG5vIC0gMV07CisJc2xvdF9nZXRhbGxhdHRycyhvbGR0dXBsZVNsb3QpOworCisJaWYg KG9sZHR1cGxlU2xvdC0+dHRzX2lzbnVsbFtyYW5nZUF0dG5vIC0gMV0pCisJCWVsb2coRVJST1Is ICJmb3VuZCBhIE5VTEwgcmFuZ2UgaW4gYSB0ZW1wb3JhbCB0YWJsZSIpOworCW9sZFJhbmdlID0g b2xkdHVwbGVTbG90LT50dHNfdmFsdWVzW3JhbmdlQXR0bm8gLSAxXTsKKworCS8qCisJICogR2V0 IHRoZSByYW5nZSdzIHR5cGUgY2FjaGUgZW50cnkuIFRoaXMgaXMgd29ydGggY2FjaGluZyBmb3Ig dGhlIHdob2xlCisJICogVVBEQVRFL0RFTEVURSBhcyByYW5nZSBmdW5jdGlvbnMgZG8uCisJICov CisKKwl0eXBjYWNoZSA9IGZwb1N0YXRlLT5mcF9sZWZ0b3ZlcnN0eXBjYWNoZTsKKwlpZiAodHlw Y2FjaGUgPT0gTlVMTCkKKwl7CisJCXR5cGNhY2hlID0gbG9va3VwX3R5cGVfY2FjaGUoZm9yUG9y dGlvbk9mLT5yYW5nZVR5cGUsIDApOworCQlmcG9TdGF0ZS0+ZnBfbGVmdG92ZXJzdHlwY2FjaGUg PSB0eXBjYWNoZTsKKwl9CisKKwkvKgorCSAqIEdldCB0aGUgcmFuZ2VzIHRvIHRoZSBsZWZ0L3Jp Z2h0IG9mIHRoZSB0YXJnZXRlZCByYW5nZS4gV2UgY2FsbCBhIFNFVE9GCisJICogc3VwcG9ydCBm dW5jdGlvbiBhbmQgaW5zZXJ0IGFzIG1hbnkgdGVtcG9yYWwgbGVmdG92ZXJzIGFzIGl0IGdpdmVz IHVzLgorCSAqIEFsdGhvdWdoIHJhbmdldHlwZXMgaGF2ZSAwLzEvMiBsZWZ0b3ZlcnMsIG11bHRp cmFuZ2VzIGhhdmUgMC8xLCBhbmQKKwkgKiBvdGhlciB0eXBlcyBtYXkgaGF2ZSBtb3JlLgorCSAq LworCisJZm1ncl9pbmZvKGZvclBvcnRpb25PZi0+d2l0aG91dFBvcnRpb25Qcm9jLCAmZmxpbmZv KTsKKwlyc2kudHlwZSA9IFRfUmV0dXJuU2V0SW5mbzsKKwlyc2kuZWNvbnRleHQgPSBtdHN0YXRl LT5wcy5wc19FeHByQ29udGV4dDsKKwlyc2kuZXhwZWN0ZWREZXNjID0gTlVMTDsKKwlyc2kuYWxs b3dlZE1vZGVzID0gKGludCkgKFNGUk1fVmFsdWVQZXJDYWxsKTsKKwlyc2kucmV0dXJuTW9kZSA9 IFNGUk1fVmFsdWVQZXJDYWxsOworCXJzaS5zZXRSZXN1bHQgPSBOVUxMOworCXJzaS5zZXREZXNj ID0gTlVMTDsKKworCUluaXRGdW5jdGlvbkNhbGxJbmZvRGF0YSgqZmNpbmZvLCAmZmxpbmZvLCAy LCBJbnZhbGlkT2lkLCBOVUxMLCAoTm9kZSAqKSAmcnNpKTsKKwlmY2luZm8tPmFyZ3NbMF0udmFs dWUgPSBvbGRSYW5nZTsKKwlmY2luZm8tPmFyZ3NbMF0uaXNudWxsID0gZmFsc2U7CisJZmNpbmZv LT5hcmdzWzFdLnZhbHVlID0gZnBvU3RhdGUtPmZwX3RhcmdldFJhbmdlOworCWZjaW5mby0+YXJn c1sxXS5pc251bGwgPSBmYWxzZTsKKworCS8qCisJICogSWYgdGhlcmUgYXJlIHBhcnRpdGlvbnMs IHdlIG11c3QgaW5zZXJ0IGludG8gdGhlIHJvb3QgdGFibGUsIHNvIHdlIGdldAorCSAqIHR1cGxl IHJvdXRpbmcuIFdlIGFscmVhZHkgc2V0IHVwIGxlZnRvdmVyU2xvdCB3aXRoIHRoZSByb290IHR1 cGxlCisJICogZGVzY3JpcHRvci4KKwkgKi8KKwlpZiAocmVzdWx0UmVsSW5mby0+cmlfUm9vdFJl c3VsdFJlbEluZm8pCisJCXJlc3VsdFJlbEluZm8gPSByZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVz dWx0UmVsSW5mbzsKKworCS8qCisJICogSW5zZXJ0IGEgbGVmdG92ZXIgZm9yIGVhY2ggdmFsdWUg cmV0dXJuZWQgYnkgdGhlIHdpdGhvdXRfcG9ydGlvbiBoZWxwZXIKKwkgKiBmdW5jdGlvbgorCSAq LworCXdoaWxlICh0cnVlKQorCXsKKwkJRGF0dW0JCWxlZnRvdmVyID0gRnVuY3Rpb25DYWxsSW52 b2tlKGZjaW5mbyk7CisKKwkJLyogQXJlIHdlIGRvbmU/ICovCisJCWlmIChyc2kuaXNEb25lID09 IEV4cHJFbmRSZXN1bHQpCisJCQlicmVhazsKKworCQlpZiAoZmNpbmZvLT5pc251bGwpCisJCQll bG9nKEVSUk9SLCAiR290IGEgbnVsbCBmcm9tIHdpdGhvdXRfcG9ydGlvbiBmdW5jdGlvbiIpOwor CisJCWlmICghZGlkSW5pdCkKKwkJeworCQkJLyoKKwkJCSAqIE1ha2UgYSBjb3B5IG9mIHRoZSBw cmUtVVBEQVRFIHJvdy4gVGhlbiB3ZSdsbCBvdmVyd3JpdGUgdGhlCisJCQkgKiByYW5nZSBjb2x1 bW4gYmVsb3cuIENvbnZlcnQgb2xkdHVwbGUgdG8gdGhlIGJhc2UgdGFibGUncyBmb3JtYXQKKwkJ CSAqIGlmIG5lY2Vzc2FyeS4gV2UgbmVlZCB0byBpbnNlcnQgdGVtcG9yYWwgbGVmdG92ZXJzIHRo cm91Z2ggdGhlCisJCQkgKiByb290IHBhcnRpdGlvbiBzbyB0aGV5IGdldCByb3V0ZWQgY29ycmVj dGx5LgorCQkJICovCisJCQlpZiAobWFwICE9IE5VTEwpCisJCQl7CisJCQkJbGVmdG92ZXJTbG90 ID0gZXhlY3V0ZV9hdHRyX21hcF9zbG90KG1hcC0+YXR0ck1hcCwKKwkJCQkJCQkJCQkJCQkgb2xk dHVwbGVTbG90LAorCQkJCQkJCQkJCQkJCSBsZWZ0b3ZlclNsb3QpOworCQkJfQorCQkJZWxzZQor CQkJeworCQkJCW9sZHR1cGxlID0gRXhlY0ZldGNoU2xvdEhlYXBUdXBsZShvbGR0dXBsZVNsb3Qs IGZhbHNlLCAmc2hvdWxkRnJlZSk7CisJCQkJRXhlY0ZvcmNlU3RvcmVIZWFwVHVwbGUob2xkdHVw bGUsIGxlZnRvdmVyU2xvdCwgZmFsc2UpOworCQkJfQorCisJCQkvKgorCQkJICogU2F2ZSBzb21l IG10c3RhdGUgdGhpbmdzIHNvIHdlIGNhbiByZXN0b3JlIHRoZW0gYmVsb3cuIFhYWDoKKwkJCSAq IFNob3VsZCB3ZSBjcmVhdGUgb3VyIG93biBNb2RpZnlUYWJsZVN0YXRlIGluc3RlYWQ/CisJCQkg Ki8KKwkJCW9sZE9wZXJhdGlvbiA9IG10c3RhdGUtPm9wZXJhdGlvbjsKKwkJCW10c3RhdGUtPm9w ZXJhdGlvbiA9IENNRF9JTlNFUlQ7CisJCQlvbGRUY3MgPSBtdHN0YXRlLT5tdF90cmFuc2l0aW9u X2NhcHR1cmU7CisKKwkJCWRpZEluaXQgPSB0cnVlOworCQl9CisKKwkJbGVmdG92ZXJTbG90LT50 dHNfdmFsdWVzW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBsZWZ0b3Zl cjsKKwkJbGVmdG92ZXJTbG90LT50dHNfaXNudWxsW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZh cmF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJRXhlY01hdGVyaWFsaXplU2xvdChsZWZ0b3ZlclNsb3Qp OworCisJCS8qCisJCSAqIElmIHRoZXJlIGFyZSBwYXJ0aXRpb25zLCB3ZSBtdXN0IGluc2VydCBp bnRvIHRoZSByb290IHRhYmxlLCBzbyB3ZQorCQkgKiBnZXQgdHVwbGUgcm91dGluZy4gV2UgYWxy ZWFkeSBzZXQgdXAgbGVmdG92ZXJTbG90IHdpdGggdGhlIHJvb3QKKwkJICogdHVwbGUgZGVzY3Jp cHRvci4KKwkJICovCisJCWlmIChyZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbykK KwkJCXJlc3VsdFJlbEluZm8gPSByZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbzsK KworCQkvKgorCQkgKiBUaGUgc3RhbmRhcmQgc2F5cyB0aGF0IGVhY2ggdGVtcG9yYWwgbGVmdG92 ZXIgc2hvdWxkIGV4ZWN1dGUgaXRzCisJCSAqIG93biBJTlNFUlQgc3RhdGVtZW50LCBmaXJpbmcg YWxsIHN0YXRlbWVudCBhbmQgcm93IHRyaWdnZXJzLCBidXQKKwkJICogc2tpcHBpbmcgaW5zZXJ0 IHBlcm1pc3Npb24gY2hlY2tzLiBUaGVyZWZvcmUgd2UgZ2l2ZSBlYWNoIGluc2VydAorCQkgKiBp dHMgb3duIHRyYW5zaXRpb24gdGFibGUuIElmIHdlIGp1c3QgcHVzaCAmIHBvcCBhIG5ldyB0cmln Z2VyIGxldmVsCisJCSAqIGZvciBlYWNoIGluc2VydCwgd2UgZ2V0IGV4YWN0bHkgd2hhdCB3ZSBu ZWVkLgorCQkgKi8KKwkJQWZ0ZXJUcmlnZ2VyQmVnaW5RdWVyeSgpOworCQlFeGVjU2V0dXBUcmFu c2l0aW9uQ2FwdHVyZVN0YXRlKG10c3RhdGUsIGVzdGF0ZSk7CisJCWZpcmVCU1RyaWdnZXJzKG10 c3RhdGUpOworCQlFeGVjSW5zZXJ0KGNvbnRleHQsIHJlc3VsdFJlbEluZm8sIGxlZnRvdmVyU2xv dCwgbm9kZS0+Y2FuU2V0VGFnLCBOVUxMLCBOVUxMKTsKKwkJZmlyZUFTVHJpZ2dlcnMobXRzdGF0 ZSk7CisJCUFmdGVyVHJpZ2dlckVuZFF1ZXJ5KGVzdGF0ZSk7CisJfQorCisJaWYgKGRpZEluaXQp CisJeworCQltdHN0YXRlLT5vcGVyYXRpb24gPSBvbGRPcGVyYXRpb247CisJCW10c3RhdGUtPm10 X3RyYW5zaXRpb25fY2FwdHVyZSA9IG9sZFRjczsKKworCQlpZiAoc2hvdWxkRnJlZSkKKwkJCWhl YXBfZnJlZXR1cGxlKG9sZHR1cGxlKTsKKwl9Cit9CisKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCQlFeGVjQmF0 Y2hJbnNlcnQKICAqCkBAIC0xNTA4LDcgKzE3MDIsOCBAQCBFeGVjRGVsZXRlQWN0KE1vZGlmeVRh YmxlQ29udGV4dCAqY29udGV4dCwgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5mbywKICAqCiAg KiBDbG9zaW5nIHN0ZXBzIG9mIHR1cGxlIGRlbGV0aW9uOyB0aGlzIGludm9rZXMgQUZURVIgRk9S IEVBQ0ggUk9XIHRyaWdnZXJzLAogICogaW5jbHVkaW5nIHRoZSBVUERBVEUgdHJpZ2dlcnMgaWYg dGhlIGRlbGV0aW9uIGlzIGJlaW5nIGRvbmUgYXMgcGFydCBvZiBhCi0gKiBjcm9zcy1wYXJ0aXRp b24gdHVwbGUgbW92ZS4KKyAqIGNyb3NzLXBhcnRpdGlvbiB0dXBsZSBtb3ZlLiBJdCBhbHNvIGlu c2VydHMgdGVtcG9yYWwgbGVmdG92ZXJzIGZyb20gYQorICogREVMRVRFIEZPUiBQT1JUSU9OIE9G LgogICovCiBzdGF0aWMgdm9pZAogRXhlY0RlbGV0ZUVwaWxvZ3VlKE1vZGlmeVRhYmxlQ29udGV4 dCAqY29udGV4dCwgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5mbywKQEAgLTE1NDEsNiArMTcz NiwxMCBAQCBFeGVjRGVsZXRlRXBpbG9ndWUoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LCBS ZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCQlhcl9kZWxldGVfdHJpZ190Y3MgPSBOVUxM OwogCX0KIAorCS8qIENvbXB1dGUgdGVtcG9yYWwgbGVmdG92ZXJzIGluIEZPUiBQT1JUSU9OIE9G ICovCisJaWYgKCgoTW9kaWZ5VGFibGUgKikgY29udGV4dC0+bXRzdGF0ZS0+cHMucGxhbiktPmZv clBvcnRpb25PZikKKwkJRXhlY0ZvclBvcnRpb25PZkxlZnRvdmVycyhjb250ZXh0LCBlc3RhdGUs IHJlc3VsdFJlbEluZm8sIHR1cGxlaWQpOworCiAJLyogQUZURVIgUk9XIERFTEVURSBUcmlnZ2Vy cyAqLwogCUV4ZWNBUkRlbGV0ZVRyaWdnZXJzKGVzdGF0ZSwgcmVzdWx0UmVsSW5mbywgdHVwbGVp ZCwgb2xkdHVwbGUsCiAJCQkJCQkgYXJfZGVsZXRlX3RyaWdfdGNzLCBjaGFuZ2luZ1BhcnQpOwpA QCAtMTk2Niw3ICsyMTY1LDEwIEBAIEV4ZWNDcm9zc1BhcnRpdGlvblVwZGF0ZShNb2RpZnlUYWJs ZUNvbnRleHQgKmNvbnRleHQsCiAJaWYgKHJlc3VsdFJlbEluZm8gPT0gbXRzdGF0ZS0+cm9vdFJl c3VsdFJlbEluZm8pCiAJCUV4ZWNQYXJ0aXRpb25DaGVja0VtaXRFcnJvcihyZXN1bHRSZWxJbmZv LCBzbG90LCBlc3RhdGUpOwogCi0JLyogSW5pdGlhbGl6ZSB0dXBsZSByb3V0aW5nIGluZm8gaWYg bm90IGFscmVhZHkgZG9uZS4gKi8KKwkvKgorCSAqIEluaXRpYWxpemUgdHVwbGUgcm91dGluZyBp bmZvIGlmIG5vdCBhbHJlYWR5IGRvbmUuIE5vdGUgd2hhdGV2ZXIgd2UgZG8KKwkgKiBoZXJlIG11 c3QgYmUgZG9uZSBpbiBFeGVjSW5pdE1vZGlmeVRhYmxlIGZvciBGT1IgUE9SVElPTiBPRiBhcyB3 ZWxsLgorCSAqLwogCWlmIChtdHN0YXRlLT5tdF9wYXJ0aXRpb25fdHVwbGVfcm91dGluZyA9PSBO VUxMKQogCXsKIAkJUmVsYXRpb24Jcm9vdFJlbCA9IG10c3RhdGUtPnJvb3RSZXN1bHRSZWxJbmZv LT5yaV9SZWxhdGlvbkRlc2M7CkBAIC0yMzE1LDcgKzI1MTcsOCBAQCBscmVwbGFjZToKICAqIEV4 ZWNVcGRhdGVFcGlsb2d1ZSAtLSBzdWJyb3V0aW5lIGZvciBFeGVjVXBkYXRlCiAgKgogICogQ2xv c2luZyBzdGVwcyBvZiB1cGRhdGluZyBhIHR1cGxlLiAgTXVzdCBiZSBjYWxsZWQgaWYgRXhlY1Vw ZGF0ZUFjdAotICogcmV0dXJucyBpbmRpY2F0aW5nIHRoYXQgdGhlIHR1cGxlIHdhcyB1cGRhdGVk LgorICogcmV0dXJucyBpbmRpY2F0aW5nIHRoYXQgdGhlIHR1cGxlIHdhcyB1cGRhdGVkLiBJdCBh bHNvIGluc2VydHMgdGVtcG9yYWwKKyAqIGxlZnRvdmVycyBmcm9tIGFuIFVQREFURSBGT1IgUE9S VElPTiBPRi4KICAqLwogc3RhdGljIHZvaWQKIEV4ZWNVcGRhdGVFcGlsb2d1ZShNb2RpZnlUYWJs ZUNvbnRleHQgKmNvbnRleHQsIFVwZGF0ZUNvbnRleHQgKnVwZGF0ZUN4dCwKQEAgLTIzMzMsNiAr MjUzNiwxMCBAQCBFeGVjVXBkYXRlRXBpbG9ndWUoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0 LCBVcGRhdGVDb250ZXh0ICp1cGRhdGVDeHQsCiAJCQkJCQkJCQkJCSAgIE5VTEwsIE5JTCwKIAkJ CQkJCQkJCQkJICAgKHVwZGF0ZUN4dC0+dXBkYXRlSW5kZXhlcyA9PSBUVV9TdW1tYXJpemluZykp OwogCisJLyogQ29tcHV0ZSB0ZW1wb3JhbCBsZWZ0b3ZlcnMgaW4gRk9SIFBPUlRJT04gT0YgKi8K KwlpZiAoKChNb2RpZnlUYWJsZSAqKSBjb250ZXh0LT5tdHN0YXRlLT5wcy5wbGFuKS0+Zm9yUG9y dGlvbk9mKQorCQlFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJzKGNvbnRleHQsIGNvbnRleHQtPmVz dGF0ZSwgcmVzdWx0UmVsSW5mbywgdHVwbGVpZCk7CisKIAkvKiBBRlRFUiBST1cgVVBEQVRFIFRy aWdnZXJzICovCiAJRXhlY0FSVXBkYXRlVHJpZ2dlcnMoY29udGV4dC0+ZXN0YXRlLCByZXN1bHRS ZWxJbmZvLAogCQkJCQkJIE5VTEwsIE5VTEwsCkBAIC01MDYyLDYgKzUyNjksMTIyIEBAIEV4ZWNJ bml0TW9kaWZ5VGFibGUoTW9kaWZ5VGFibGUgKm5vZGUsIEVTdGF0ZSAqZXN0YXRlLCBpbnQgZWZs YWdzKQogCQl9CiAJfQogCisJLyoKKwkgKiBJZiBuZWVkZWQsIGluaXRpYWxpemUgdGhlIHRhcmdl dCByYW5nZSBmb3IgRk9SIFBPUlRJT04gT0YuCisJICovCisJaWYgKG5vZGUtPmZvclBvcnRpb25P ZikKKwl7CisJCVJlc3VsdFJlbEluZm8gKnJvb3RSZXN1bHRSZWxJbmZvOworCQlUdXBsZURlc2MJ dHVwRGVzYzsKKwkJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9mOworCQlEYXR1bQkJdGFy Z2V0UmFuZ2U7CisJCWJvb2wJCWlzTnVsbDsKKwkJRXhwckNvbnRleHQgKmVjb250ZXh0OworCQlF eHByU3RhdGUgICpleHByU3RhdGU7CisJCUZvclBvcnRpb25PZlN0YXRlICpmcG9TdGF0ZTsKKwor CQlyb290UmVzdWx0UmVsSW5mbyA9IG10c3RhdGUtPnJlc3VsdFJlbEluZm87CisJCWlmIChyb290 UmVzdWx0UmVsSW5mby0+cmlfUm9vdFJlc3VsdFJlbEluZm8pCisJCQlyb290UmVzdWx0UmVsSW5m byA9IHJvb3RSZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbzsKKworCQl0dXBEZXNj ID0gcm9vdFJlc3VsdFJlbEluZm8tPnJpX1JlbGF0aW9uRGVzYy0+cmRfYXR0OworCQlmb3JQb3J0 aW9uT2YgPSAoRm9yUG9ydGlvbk9mRXhwciAqKSBub2RlLT5mb3JQb3J0aW9uT2Y7CisKKwkJLyog RXZhbCB0aGUgRk9SIFBPUlRJT04gT0YgdGFyZ2V0ICovCisJCWlmIChtdHN0YXRlLT5wcy5wc19F eHByQ29udGV4dCA9PSBOVUxMKQorCQkJRXhlY0Fzc2lnbkV4cHJDb250ZXh0KGVzdGF0ZSwgJm10 c3RhdGUtPnBzKTsKKwkJZWNvbnRleHQgPSBtdHN0YXRlLT5wcy5wc19FeHByQ29udGV4dDsKKwor CQlleHByU3RhdGUgPSBFeGVjUHJlcGFyZUV4cHIoKEV4cHIgKikgZm9yUG9ydGlvbk9mLT50YXJn ZXRSYW5nZSwgZXN0YXRlKTsKKwkJdGFyZ2V0UmFuZ2UgPSBFeGVjRXZhbEV4cHIoZXhwclN0YXRl LCBlY29udGV4dCwgJmlzTnVsbCk7CisJCWlmIChpc051bGwpCisJCQllbG9nKEVSUk9SLCAiR290 IGEgTlVMTCBGT1IgUE9SVElPTiBPRiB0YXJnZXQgcmFuZ2UiKTsKKworCQkvKiBDcmVhdGUgc3Rh dGUgZm9yIEZPUiBQT1JUSU9OIE9GIG9wZXJhdGlvbiAqLworCisJCWZwb1N0YXRlID0gbWFrZU5v ZGUoRm9yUG9ydGlvbk9mU3RhdGUpOworCQlmcG9TdGF0ZS0+ZnBfcmFuZ2VOYW1lID0gZm9yUG9y dGlvbk9mLT5yYW5nZV9uYW1lOworCQlmcG9TdGF0ZS0+ZnBfcmFuZ2VUeXBlID0gZm9yUG9ydGlv bk9mLT5yYW5nZVR5cGU7CisJCWZwb1N0YXRlLT5mcF9yYW5nZUF0dG5vID0gZm9yUG9ydGlvbk9m LT5yYW5nZVZhci0+dmFyYXR0bm87CisJCWZwb1N0YXRlLT5mcF90YXJnZXRSYW5nZSA9IHRhcmdl dFJhbmdlOworCisJCS8qIEluaXRpYWxpemUgc2xvdCBmb3IgdGhlIGV4aXN0aW5nIHR1cGxlICov CisKKwkJZnBvU3RhdGUtPmZwX0V4aXN0aW5nID0KKwkJCXRhYmxlX3Nsb3RfY3JlYXRlKHJvb3RS ZXN1bHRSZWxJbmZvLT5yaV9SZWxhdGlvbkRlc2MsCisJCQkJCQkJICAmbXRzdGF0ZS0+cHMuc3Rh dGUtPmVzX3R1cGxlVGFibGUpOworCisJCS8qIENyZWF0ZSB0aGUgdHVwbGUgc2xvdCBmb3IgSU5T RVJUaW5nIHRoZSB0ZW1wb3JhbCBsZWZ0b3ZlcnMgKi8KKworCQlmcG9TdGF0ZS0+ZnBfTGVmdG92 ZXIgPQorCQkJRXhlY0luaXRFeHRyYVR1cGxlU2xvdChtdHN0YXRlLT5wcy5zdGF0ZSwgdHVwRGVz YywgJlRUU09wc1ZpcnR1YWwpOworCisJCS8qCisJCSAqIFdlIG11c3QgYXR0YWNoIHRoZSBGb3JQ b3J0aW9uT2ZTdGF0ZSB0byBhbGwgcmVzdWx0IHJlbHMsIGluIGNhc2Ugb2YKKwkJICogYSBjcm9z cy1wYXJ0aXRpb24gdXBkYXRlIG9yIHRyaWdnZXJzIGZpcmluZyBvbiBwYXJ0aXRpb25zLiBYWFg6 IENhbgorCQkgKiB3ZSBkZWZlciB0aGlzIHRvIG9ubHkgdGhlIGxlYWZzIHdlIHRvdWNoPworCQkg Ki8KKwkJZm9yIChpID0gMDsgaSA8IG5yZWxzOyBpKyspCisJCXsKKwkJCUZvclBvcnRpb25PZlN0 YXRlICpsZWFmU3RhdGU7CisKKwkJCXJlc3VsdFJlbEluZm8gPSAmbXRzdGF0ZS0+cmVzdWx0UmVs SW5mb1tpXTsKKworCQkJbGVhZlN0YXRlID0gbWFrZU5vZGUoRm9yUG9ydGlvbk9mU3RhdGUpOwor CQkJbGVhZlN0YXRlLT5mcF9yYW5nZU5hbWUgPSBmcG9TdGF0ZS0+ZnBfcmFuZ2VOYW1lOworCQkJ bGVhZlN0YXRlLT5mcF9yYW5nZVR5cGUgPSBmcG9TdGF0ZS0+ZnBfcmFuZ2VUeXBlOworCQkJbGVh ZlN0YXRlLT5mcF9yYW5nZUF0dG5vID0gZnBvU3RhdGUtPmZwX3JhbmdlQXR0bm87CisJCQlsZWFm U3RhdGUtPmZwX3RhcmdldFJhbmdlID0gZnBvU3RhdGUtPmZwX3RhcmdldFJhbmdlOworCQkJbGVh ZlN0YXRlLT5mcF9MZWZ0b3ZlciA9IGZwb1N0YXRlLT5mcF9MZWZ0b3ZlcjsKKwkJCS8qIEVhY2gg cGFydGl0aW9uIG5lZWRzIGEgc2xvdCBtYXRjaGluZyBpdHMgdHVwbGUgZGVzY3JpcHRvciAqLwor CQkJbGVhZlN0YXRlLT5mcF9FeGlzdGluZyA9CisJCQkJdGFibGVfc2xvdF9jcmVhdGUocmVzdWx0 UmVsSW5mby0+cmlfUmVsYXRpb25EZXNjLAorCQkJCQkJCQkgICZtdHN0YXRlLT5wcy5zdGF0ZS0+ ZXNfdHVwbGVUYWJsZSk7CisKKwkJCXJlc3VsdFJlbEluZm8tPnJpX2ZvclBvcnRpb25PZiA9IGxl YWZTdGF0ZTsKKwkJfQorCisJCS8qIE1ha2Ugc3VyZSB0aGUgcm9vdCByZWxhdGlvbiBoYXMgdGhl IEZPUiBQT1JUSU9OIE9GIGNsYXVzZSB0b28uICovCisJCWlmIChub2RlLT5yb290UmVsYXRpb24g PiAwKQorCQkJbXRzdGF0ZS0+cm9vdFJlc3VsdFJlbEluZm8tPnJpX2ZvclBvcnRpb25PZiA9IGZw b1N0YXRlOworCisJCWlmIChyZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElP TkVEX1RBQkxFICYmCisJCQltdHN0YXRlLT5tdF9wYXJ0aXRpb25fdHVwbGVfcm91dGluZyA9PSBO VUxMKQorCQl7CisJCQkvKgorCQkJICogV2Ugd2lsbCBuZWVkIHR1cGxlIHJvdXRpbmcgdG8gaW5z ZXJ0IHRlbXBvcmFsIGxlZnRvdmVycy4gU2luY2UKKwkJCSAqIHdlIGFyZSBpbml0aWFsaXppbmcg dGhpbmdzIGJlZm9yZSBFeGVjQ3Jvc3NQYXJ0aXRpb25VcGRhdGUKKwkJCSAqIHJ1bnMsIHdlIG11 c3QgZG8gZXZlcnl0aGluZyBpdCBuZWVkcyBhcyB3ZWxsLgorCQkJICovCisJCQlpZiAobXRzdGF0 ZS0+bXRfcGFydGl0aW9uX3R1cGxlX3JvdXRpbmcgPT0gTlVMTCkKKwkJCXsKKwkJCQlSZWxhdGlv bglyb290UmVsID0gbXRzdGF0ZS0+cm9vdFJlc3VsdFJlbEluZm8tPnJpX1JlbGF0aW9uRGVzYzsK KwkJCQlNZW1vcnlDb250ZXh0IG9sZGN4dDsKKworCQkJCS8qIFRoaW5ncyBidWlsdCBoZXJlIGhh dmUgdG8gbGFzdCBmb3IgdGhlIHF1ZXJ5IGR1cmF0aW9uLiAqLworCQkJCW9sZGN4dCA9IE1lbW9y eUNvbnRleHRTd2l0Y2hUbyhlc3RhdGUtPmVzX3F1ZXJ5X2N4dCk7CisKKwkJCQltdHN0YXRlLT5t dF9wYXJ0aXRpb25fdHVwbGVfcm91dGluZyA9CisJCQkJCUV4ZWNTZXR1cFBhcnRpdGlvblR1cGxl Um91dGluZyhlc3RhdGUsIHJvb3RSZWwpOworCisJCQkJLyoKKwkJCQkgKiBCZWZvcmUgYSBwYXJ0 aXRpb24ncyB0dXBsZSBjYW4gYmUgcmUtcm91dGVkLCBpdCBtdXN0IGZpcnN0CisJCQkJICogYmUg Y29udmVydGVkIHRvIHRoZSByb290J3MgZm9ybWF0LCBzbyB3ZSdsbCBuZWVkIGEgc2xvdCBmb3IK KwkJCQkgKiBzdG9yaW5nIHN1Y2ggdHVwbGVzLgorCQkJCSAqLworCQkJCUFzc2VydChtdHN0YXRl LT5tdF9yb290X3R1cGxlX3Nsb3QgPT0gTlVMTCk7CisJCQkJbXRzdGF0ZS0+bXRfcm9vdF90dXBs ZV9zbG90ID0gdGFibGVfc2xvdF9jcmVhdGUocm9vdFJlbCwgTlVMTCk7CisKKwkJCQlNZW1vcnlD b250ZXh0U3dpdGNoVG8ob2xkY3h0KTsKKwkJCX0KKwkJfQorCisJCS8qCisJCSAqIERvbid0IGZy ZWUgdGhlIEV4cHJDb250ZXh0IGhlcmUgYmVjYXVzZSB0aGUgcmVzdWx0IG11c3QgbGFzdCBmb3IK KwkJICogdGhlIHdob2xlIHF1ZXJ5CisJCSAqLworCX0KKwogCS8qCiAJICogSWYgd2UgaGF2ZSBh bnkgc2Vjb25kYXJ5IHJlbGF0aW9ucyBpbiBhbiBVUERBVEUgb3IgREVMRVRFLCB0aGV5IG5lZWQg dG8KIAkgKiBiZSB0cmVhdGVkIGxpa2Ugbm9uLWxvY2tlZCByZWxhdGlvbnMgaW4gU0VMRUNUIEZP UiBVUERBVEUsIGkuZS4sIHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1 bmNzLmMgYi9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYwppbmRleCBlZGU4MzhjZDQwYy4u ZTQwZThlZWNmNzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCisr KyBiL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCkBAIC0yNTY3LDYgKzI1NjcsMTQgQEAg ZXhwcmVzc2lvbl90cmVlX3dhbGtlcl9pbXBsKE5vZGUgKm5vZGUsCiAJCQkJCXJldHVybiB0cnVl OwogCQkJfQogCQkJYnJlYWs7CisJCWNhc2UgVF9Gb3JQb3J0aW9uT2ZFeHByOgorCQkJeworCQkJ CUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiA9IChGb3JQb3J0aW9uT2ZFeHByICopIG5v ZGU7CisKKwkJCQlpZiAoV0FMSyhmb3JQb3J0aW9uT2YtPnRhcmdldFJhbmdlKSkKKwkJCQkJcmV0 dXJuIHRydWU7CisJCQl9CisJCQlicmVhazsKIAkJY2FzZSBUX1BhcnRpdGlvblBydW5lU3RlcE9w OgogCQkJewogCQkJCVBhcnRpdGlvblBydW5lU3RlcE9wICpvcHN0ZXAgPSAoUGFydGl0aW9uUHJ1 bmVTdGVwT3AgKikgbm9kZTsKQEAgLTI3MTUsNiArMjcyMyw4IEBAIHF1ZXJ5X3RyZWVfd2Fsa2Vy X2ltcGwoUXVlcnkgKnF1ZXJ5LAogCQlyZXR1cm4gdHJ1ZTsKIAlpZiAoV0FMSyhxdWVyeS0+bWVy Z2VKb2luQ29uZGl0aW9uKSkKIAkJcmV0dXJuIHRydWU7CisJaWYgKFdBTEsocXVlcnktPmZvclBv cnRpb25PZikpCisJCXJldHVybiB0cnVlOwogCWlmIChXQUxLKHF1ZXJ5LT5yZXR1cm5pbmdMaXN0 KSkKIAkJcmV0dXJuIHRydWU7CiAJaWYgKFdBTEsocXVlcnktPmpvaW50cmVlKSkKQEAgLTM2MDks NiArMzYxOSwxOSBAQCBleHByZXNzaW9uX3RyZWVfbXV0YXRvcl9pbXBsKE5vZGUgKm5vZGUsCiAJ CQkJcmV0dXJuIChOb2RlICopIG5ld25vZGU7CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX0Zv clBvcnRpb25PZkV4cHI6CisJCQl7CisJCQkJRm9yUG9ydGlvbk9mRXhwciAqZnBvID0gKEZvclBv cnRpb25PZkV4cHIgKikgbm9kZTsKKwkJCQlGb3JQb3J0aW9uT2ZFeHByICpuZXdub2RlOworCisJ CQkJRkxBVENPUFkobmV3bm9kZSwgZnBvLCBGb3JQb3J0aW9uT2ZFeHByKTsKKwkJCQlNVVRBVEUo bmV3bm9kZS0+cmFuZ2VWYXIsIGZwby0+cmFuZ2VWYXIsIFZhciAqKTsKKwkJCQlNVVRBVEUobmV3 bm9kZS0+dGFyZ2V0UmFuZ2UsIGZwby0+dGFyZ2V0UmFuZ2UsIE5vZGUgKik7CisJCQkJTVVUQVRF KG5ld25vZGUtPnJhbmdlVGFyZ2V0TGlzdCwgZnBvLT5yYW5nZVRhcmdldExpc3QsIExpc3QgKik7 CisKKwkJCQlyZXR1cm4gKE5vZGUgKikgbmV3bm9kZTsKKwkJCX0KKwkJCWJyZWFrOwogCQljYXNl IFRfUGFydGl0aW9uUHJ1bmVTdGVwT3A6CiAJCQl7CiAJCQkJUGFydGl0aW9uUHJ1bmVTdGVwT3Ag Km9wc3RlcCA9IChQYXJ0aXRpb25QcnVuZVN0ZXBPcCAqKSBub2RlOwpAQCAtMzc5MCw2ICszODEz LDcgQEAgcXVlcnlfdHJlZV9tdXRhdG9yX2ltcGwoUXVlcnkgKnF1ZXJ5LAogCU1VVEFURShxdWVy eS0+b25Db25mbGljdCwgcXVlcnktPm9uQ29uZmxpY3QsIE9uQ29uZmxpY3RFeHByICopOwogCU1V VEFURShxdWVyeS0+bWVyZ2VBY3Rpb25MaXN0LCBxdWVyeS0+bWVyZ2VBY3Rpb25MaXN0LCBMaXN0 ICopOwogCU1VVEFURShxdWVyeS0+bWVyZ2VKb2luQ29uZGl0aW9uLCBxdWVyeS0+bWVyZ2VKb2lu Q29uZGl0aW9uLCBOb2RlICopOworCU1VVEFURShxdWVyeS0+Zm9yUG9ydGlvbk9mLCBxdWVyeS0+ Zm9yUG9ydGlvbk9mLCBGb3JQb3J0aW9uT2ZFeHByICopOwogCU1VVEFURShxdWVyeS0+cmV0dXJu aW5nTGlzdCwgcXVlcnktPnJldHVybmluZ0xpc3QsIExpc3QgKik7CiAJTVVUQVRFKHF1ZXJ5LT5q b2ludHJlZSwgcXVlcnktPmpvaW50cmVlLCBGcm9tRXhwciAqKTsKIAlNVVRBVEUocXVlcnktPnNl dE9wZXJhdGlvbnMsIHF1ZXJ5LT5zZXRPcGVyYXRpb25zLCBOb2RlICopOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jIGIvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jCmluZGV4IDYzZmU2NjM3MTU1Li41ZWI0MmQ4MTczMSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jCisrKyBi L3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL2NyZWF0ZXBsYW4uYwpAQCAtMzE2LDcgKzMxNiw3 IEBAIHN0YXRpYyBNb2RpZnlUYWJsZSAqbWFrZV9tb2RpZnl0YWJsZShQbGFubmVySW5mbyAqcm9v dCwgUGxhbiAqc3VicGxhbiwKIAkJCQkJCQkJCSBMaXN0ICp3aXRoQ2hlY2tPcHRpb25MaXN0cywg TGlzdCAqcmV0dXJuaW5nTGlzdHMsCiAJCQkJCQkJCQkgTGlzdCAqcm93TWFya3MsIE9uQ29uZmxp Y3RFeHByICpvbmNvbmZsaWN0LAogCQkJCQkJCQkJIExpc3QgKm1lcmdlQWN0aW9uTGlzdHMsIExp c3QgKm1lcmdlSm9pbkNvbmRpdGlvbnMsCi0JCQkJCQkJCQkgaW50IGVwcVBhcmFtKTsKKwkJCQkJ CQkJCSBGb3JQb3J0aW9uT2ZFeHByICpmb3JQb3J0aW9uT2YsIGludCBlcHFQYXJhbSk7CiBzdGF0 aWMgR2F0aGVyTWVyZ2UgKmNyZWF0ZV9nYXRoZXJfbWVyZ2VfcGxhbihQbGFubmVySW5mbyAqcm9v dCwKIAkJCQkJCQkJCQkJIEdhdGhlck1lcmdlUGF0aCAqYmVzdF9wYXRoKTsKIApAQCAtMjY4Myw2 ICsyNjgzLDcgQEAgY3JlYXRlX21vZGlmeXRhYmxlX3BsYW4oUGxhbm5lckluZm8gKnJvb3QsIE1v ZGlmeVRhYmxlUGF0aCAqYmVzdF9wYXRoKQogCQkJCQkJCWJlc3RfcGF0aC0+b25jb25mbGljdCwK IAkJCQkJCQliZXN0X3BhdGgtPm1lcmdlQWN0aW9uTGlzdHMsCiAJCQkJCQkJYmVzdF9wYXRoLT5t ZXJnZUpvaW5Db25kaXRpb25zLAorCQkJCQkJCWJlc3RfcGF0aC0+Zm9yUG9ydGlvbk9mLAogCQkJ CQkJCWJlc3RfcGF0aC0+ZXBxUGFyYW0pOwogCiAJY29weV9nZW5lcmljX3BhdGhfaW5mbygmcGxh bi0+cGxhbiwgJmJlc3RfcGF0aC0+cGF0aCk7CkBAIC03MDEzLDcgKzcwMTQsNyBAQCBtYWtlX21v ZGlmeXRhYmxlKFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpzdWJwbGFuLAogCQkJCSBMaXN0ICp3 aXRoQ2hlY2tPcHRpb25MaXN0cywgTGlzdCAqcmV0dXJuaW5nTGlzdHMsCiAJCQkJIExpc3QgKnJv d01hcmtzLCBPbkNvbmZsaWN0RXhwciAqb25jb25mbGljdCwKIAkJCQkgTGlzdCAqbWVyZ2VBY3Rp b25MaXN0cywgTGlzdCAqbWVyZ2VKb2luQ29uZGl0aW9ucywKLQkJCQkgaW50IGVwcVBhcmFtKQor CQkJCSBGb3JQb3J0aW9uT2ZFeHByICpmb3JQb3J0aW9uT2YsIGludCBlcHFQYXJhbSkKIHsKIAlN b2RpZnlUYWJsZSAqbm9kZSA9IG1ha2VOb2RlKE1vZGlmeVRhYmxlKTsKIAlib29sCQlyZXR1cm5p bmdfb2xkX29yX25ldyA9IGZhbHNlOwpAQCAtNzA4Miw2ICs3MDgzLDcgQEAgbWFrZV9tb2RpZnl0 YWJsZShQbGFubmVySW5mbyAqcm9vdCwgUGxhbiAqc3VicGxhbiwKIAkJbm9kZS0+ZXhjbFJlbFRs aXN0ID0gb25jb25mbGljdC0+ZXhjbFJlbFRsaXN0OwogCX0KIAlub2RlLT51cGRhdGVDb2xub3NM aXN0cyA9IHVwZGF0ZUNvbG5vc0xpc3RzOworCW5vZGUtPmZvclBvcnRpb25PZiA9IChOb2RlICop IGZvclBvcnRpb25PZjsKIAlub2RlLT53aXRoQ2hlY2tPcHRpb25MaXN0cyA9IHdpdGhDaGVja09w dGlvbkxpc3RzOwogCW5vZGUtPnJldHVybmluZ09sZEFsaWFzID0gcm9vdC0+cGFyc2UtPnJldHVy bmluZ09sZEFsaWFzOwogCW5vZGUtPnJldHVybmluZ05ld0FsaWFzID0gcm9vdC0+cGFyc2UtPnJl dHVybmluZ05ld0FsaWFzOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4v cGxhbm5lci5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCmluZGV4IGM0 ZmQ2NDZiOTk5Li43ZTJmMTlmYjVlMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVy L3BsYW4vcGxhbm5lci5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIu YwpAQCAtMjE1MSw2ICsyMTUxLDcgQEAgZ3JvdXBpbmdfcGxhbm5lcihQbGFubmVySW5mbyAqcm9v dCwgZG91YmxlIHR1cGxlX2ZyYWN0aW9uLAogCQkJCQkJCQkJCXBhcnNlLT5vbkNvbmZsaWN0LAog CQkJCQkJCQkJCW1lcmdlQWN0aW9uTGlzdHMsCiAJCQkJCQkJCQkJbWVyZ2VKb2luQ29uZGl0aW9u cywKKwkJCQkJCQkJCQlwYXJzZS0+Zm9yUG9ydGlvbk9mLAogCQkJCQkJCQkJCWFzc2lnbl9zcGVj aWFsX2V4ZWNfcGFyYW0ocm9vdCkpOwogCQl9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29w dGltaXplci91dGlsL3BhdGhub2RlLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wYXRo bm9kZS5jCmluZGV4IDQ0YWM1MzEyZWRkLi4zN2JhMmQ3MzFmOSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3V0aWwvcGF0aG5vZGUuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6 ZXIvdXRpbC9wYXRobm9kZS5jCkBAIC0zNjMzLDcgKzM2MzMsNyBAQCBjcmVhdGVfbW9kaWZ5dGFi bGVfcGF0aChQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLAogCQkJCQkJTGlzdCAq d2l0aENoZWNrT3B0aW9uTGlzdHMsIExpc3QgKnJldHVybmluZ0xpc3RzLAogCQkJCQkJTGlzdCAq cm93TWFya3MsIE9uQ29uZmxpY3RFeHByICpvbmNvbmZsaWN0LAogCQkJCQkJTGlzdCAqbWVyZ2VB Y3Rpb25MaXN0cywgTGlzdCAqbWVyZ2VKb2luQ29uZGl0aW9ucywKLQkJCQkJCWludCBlcHFQYXJh bSkKKwkJCQkJCUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiwgaW50IGVwcVBhcmFtKQog ewogCU1vZGlmeVRhYmxlUGF0aCAqcGF0aG5vZGUgPSBtYWtlTm9kZShNb2RpZnlUYWJsZVBhdGgp OwogCkBAIC0zNjk5LDYgKzM2OTksNyBAQCBjcmVhdGVfbW9kaWZ5dGFibGVfcGF0aChQbGFubmVy SW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLAogCXBhdGhub2RlLT5yZXR1cm5pbmdMaXN0cyA9 IHJldHVybmluZ0xpc3RzOwogCXBhdGhub2RlLT5yb3dNYXJrcyA9IHJvd01hcmtzOwogCXBhdGhu b2RlLT5vbmNvbmZsaWN0ID0gb25jb25mbGljdDsKKwlwYXRobm9kZS0+Zm9yUG9ydGlvbk9mID0g Zm9yUG9ydGlvbk9mOwogCXBhdGhub2RlLT5lcHFQYXJhbSA9IGVwcVBhcmFtOwogCXBhdGhub2Rl LT5tZXJnZUFjdGlvbkxpc3RzID0gbWVyZ2VBY3Rpb25MaXN0czsKIAlwYXRobm9kZS0+bWVyZ2VK b2luQ29uZGl0aW9ucyA9IG1lcmdlSm9pbkNvbmRpdGlvbnM7CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9wYXJzZXIvYW5hbHl6ZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwppbmRl eCAzYjM5MmIwODRhZC4uNjg5MGE2N2ZiM2MgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNl ci9hbmFseXplLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwpAQCAtMjQsNyAr MjQsMTAgQEAKIAogI2luY2x1ZGUgInBvc3RncmVzLmgiCiAKKyNpbmNsdWRlICJhY2Nlc3Mvc3Ry YXRudW0uaCIKICNpbmNsdWRlICJhY2Nlc3Mvc3lzYXR0ci5oIgorI2luY2x1ZGUgImNhdGFsb2cv cGdfYW0uaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9wZ19wcm9jLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCiAjaW5jbHVkZSAi Y29tbWFuZHMvZGVmcmVtLmgiCkBAIC01MCw3ICs1Myw5IEBACiAjaW5jbHVkZSAicGFyc2VyL3Bh cnNldHJlZS5oIgogI2luY2x1ZGUgInV0aWxzL2JhY2tlbmRfc3RhdHVzLmgiCiAjaW5jbHVkZSAi dXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgogI2luY2x1ZGUg InV0aWxzL2d1Yy5oIgorI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0 aWxzL3JlbC5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCiAKQEAgLTY3LDEwICs3Miwx NiBAQCB0eXBlZGVmIHN0cnVjdCBTZWxlY3RTdG10UGFzc3Rocm91Z2gKIHBvc3RfcGFyc2VfYW5h bHl6ZV9ob29rX3R5cGUgcG9zdF9wYXJzZV9hbmFseXplX2hvb2sgPSBOVUxMOwogCiBzdGF0aWMg UXVlcnkgKnRyYW5zZm9ybU9wdGlvbmFsU2VsZWN0SW50byhQYXJzZVN0YXRlICpwc3RhdGUsIE5v ZGUgKnBhcnNlVHJlZSk7CitzdGF0aWMgTm9kZSAqYWRkRm9yUG9ydGlvbk9mV2hlcmVDb25kaXRp b25zKFF1ZXJ5ICpxcnksIEZvclBvcnRpb25PZkNsYXVzZSAqZm9yUG9ydGlvbk9mLAorCQkJCQkJ CQkJCQlOb2RlICp3aGVyZUNsYXVzZSk7CiBzdGF0aWMgUXVlcnkgKnRyYW5zZm9ybURlbGV0ZVN0 bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBEZWxldGVTdG10ICpzdG10KTsKIHN0YXRpYyBRdWVyeSAq dHJhbnNmb3JtSW5zZXJ0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIEluc2VydFN0bXQgKnN0bXQp Owogc3RhdGljIE9uQ29uZmxpY3RFeHByICp0cmFuc2Zvcm1PbkNvbmZsaWN0Q2xhdXNlKFBhcnNl U3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkJCQkJCSBPbkNvbmZsaWN0Q2xhdXNlICpvbkNvbmZsaWN0 Q2xhdXNlKTsKK3N0YXRpYyBGb3JQb3J0aW9uT2ZFeHByICp0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZD bGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAorCQkJCQkJCQkJCQkJCSBpbnQgcnRpbmRleCwKKwkJ CQkJCQkJCQkJCQkgRm9yUG9ydGlvbk9mQ2xhdXNlICpmb3JQb3J0aW9uT2ZDbGF1c2UsCisJCQkJ CQkJCQkJCQkJIGJvb2wgaXNVcGRhdGUpOwogc3RhdGljIGludAljb3VudF9yb3dleHByX2NvbHVt bnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByKTsKIHN0YXRpYyBRdWVyeSAqdHJhbnNm b3JtU2VsZWN0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVjdFN0bXQgKnN0bXQsCiAJCQkJ CQkJCSAgU2VsZWN0U3RtdFBhc3N0aHJvdWdoICpwYXNzdGhydSk7CkBAIC00OTMsNiArNTA0LDIw IEBAIHN0bXRfcmVxdWlyZXNfcGFyc2VfYW5hbHlzaXMoUmF3U3RtdCAqcGFyc2VUcmVlKQogCXJl dHVybiByZXN1bHQ7CiB9CiAKK3N0YXRpYyBOb2RlICoKK2FkZEZvclBvcnRpb25PZldoZXJlQ29u ZGl0aW9ucyhRdWVyeSAqcXJ5LCBGb3JQb3J0aW9uT2ZDbGF1c2UgKmZvclBvcnRpb25PZiwgTm9k ZSAqd2hlcmVDbGF1c2UpCit7CisJaWYgKGZvclBvcnRpb25PZikKKwl7CisJCWlmICh3aGVyZUNs YXVzZSkKKwkJCXJldHVybiAoTm9kZSAqKSBtYWtlQm9vbEV4cHIoQU5EX0VYUFIsIGxpc3RfbWFr ZTIocXJ5LT5mb3JQb3J0aW9uT2YtPm92ZXJsYXBzRXhwciwgd2hlcmVDbGF1c2UpLCAtMSk7CisJ CWVsc2UKKwkJCXJldHVybiBxcnktPmZvclBvcnRpb25PZi0+b3ZlcmxhcHNFeHByOworCX0KKwll bHNlCisJCXJldHVybiB3aGVyZUNsYXVzZTsKK30KKwogLyoKICAqIGFuYWx5emVfcmVxdWlyZXNf c25hcHNob3QKICAqCQlSZXR1cm5zIHRydWUgaWYgYSBzbmFwc2hvdCBtdXN0IGJlIHNldCBiZWZv cmUgZG9pbmcgcGFyc2UgYW5hbHlzaXMKQEAgLTU2NSw2ICs1OTAsNyBAQCB0cmFuc2Zvcm1EZWxl dGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgRGVsZXRlU3RtdCAqc3RtdCkKIHsKIAlRdWVyeQkg ICAqcXJ5ID0gbWFrZU5vZGUoUXVlcnkpOwogCVBhcnNlTmFtZXNwYWNlSXRlbSAqbnNpdGVtOwor CU5vZGUJICAgKndoZXJlQ2xhdXNlOwogCU5vZGUJICAgKnF1YWw7CiAKIAlxcnktPmNvbW1hbmRU eXBlID0gQ01EX0RFTEVURTsKQEAgLTYwMyw3ICs2MjksMTEgQEAgdHJhbnNmb3JtRGVsZXRlU3Rt dChQYXJzZVN0YXRlICpwc3RhdGUsIERlbGV0ZVN0bXQgKnN0bXQpCiAJbnNpdGVtLT5wX2xhdGVy YWxfb25seSA9IGZhbHNlOwogCW5zaXRlbS0+cF9sYXRlcmFsX29rID0gdHJ1ZTsKIAotCXF1YWwg PSB0cmFuc2Zvcm1XaGVyZUNsYXVzZShwc3RhdGUsIHN0bXQtPndoZXJlQ2xhdXNlLAorCWlmIChz dG10LT5mb3JQb3J0aW9uT2YpCisJCXFyeS0+Zm9yUG9ydGlvbk9mID0gdHJhbnNmb3JtRm9yUG9y dGlvbk9mQ2xhdXNlKHBzdGF0ZSwgcXJ5LT5yZXN1bHRSZWxhdGlvbiwgc3RtdC0+Zm9yUG9ydGlv bk9mLCBmYWxzZSk7CisKKwl3aGVyZUNsYXVzZSA9IGFkZEZvclBvcnRpb25PZldoZXJlQ29uZGl0 aW9ucyhxcnksIHN0bXQtPmZvclBvcnRpb25PZiwgc3RtdC0+d2hlcmVDbGF1c2UpOworCXF1YWwg PSB0cmFuc2Zvcm1XaGVyZUNsYXVzZShwc3RhdGUsIHdoZXJlQ2xhdXNlLAogCQkJCQkJCQlFWFBS X0tJTkRfV0hFUkUsICJXSEVSRSIpOwogCiAJdHJhbnNmb3JtUmV0dXJuaW5nQ2xhdXNlKHBzdGF0 ZSwgcXJ5LCBzdG10LT5yZXR1cm5pbmdDbGF1c2UsCkBAIC0xMjM4LDcgKzEyNjgsNyBAQCB0cmFu c2Zvcm1PbkNvbmZsaWN0Q2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJICogTm93IHRyYW5z Zm9ybSB0aGUgVVBEQVRFIHN1YmV4cHJlc3Npb25zLgogCQkgKi8KIAkJb25Db25mbGljdFNldCA9 Ci0JCQl0cmFuc2Zvcm1VcGRhdGVUYXJnZXRMaXN0KHBzdGF0ZSwgb25Db25mbGljdENsYXVzZS0+ dGFyZ2V0TGlzdCk7CisJCQl0cmFuc2Zvcm1VcGRhdGVUYXJnZXRMaXN0KHBzdGF0ZSwgb25Db25m bGljdENsYXVzZS0+dGFyZ2V0TGlzdCwgTlVMTCk7CiAKIAkJb25Db25mbGljdFdoZXJlID0gdHJh bnNmb3JtV2hlcmVDbGF1c2UocHN0YXRlLAogCQkJCQkJCQkJCQkgICBvbkNvbmZsaWN0Q2xhdXNl LT53aGVyZUNsYXVzZSwKQEAgLTEyNjgsNiArMTI5OCwxOTUgQEAgdHJhbnNmb3JtT25Db25mbGlj dENsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorLyoKKyAq IHRyYW5zZm9ybUZvclBvcnRpb25PZkNsYXVzZQorICoKKyAqCSAgVHJhbnNmb3JtcyBhIEZvclBv cnRpb25PZkNsYXVzZSBpbiBhbiBVUERBVEUvREVMRVRFIHN0YXRlbWVudC4KKyAqCisgKgkgIC0g TG9vayB1cCB0aGUgcmFuZ2UvcGVyaW9kIHJlcXVlc3RlZC4KKyAqCSAgLSBCdWlsZCBhIGNvbXBh dGlibGUgcmFuZ2UgdmFsdWUgZnJvbSB0aGUgRlJPTSBhbmQgVE8gZXhwcmVzc2lvbnMuCisgKgkg IC0gQnVpbGQgYW4gIm92ZXJsYXBzIiBleHByZXNzaW9uIGZvciBmaWx0ZXJpbmcuCisgKgkgIC0g Rm9yIFVQREFURXMsIGJ1aWxkIGFuICJpbnRlcnNlY3RzIiBleHByZXNzaW9uIHRoZSByZXdyaXRl ciBjYW4gYWRkCisgKgkJdG8gdGhlIHRhcmdldExpc3QgdG8gY2hhbmdlIHRoZSB0ZW1wb3JhbCBi b3VuZHMuCisgKi8KK3N0YXRpYyBGb3JQb3J0aW9uT2ZFeHByICoKK3RyYW5zZm9ybUZvclBvcnRp b25PZkNsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCisJCQkJCQkJaW50IHJ0aW5kZXgsCisJCQkJ CQkJRm9yUG9ydGlvbk9mQ2xhdXNlICpmb3JQb3J0aW9uT2YsCisJCQkJCQkJYm9vbCBpc1VwZGF0 ZSkKK3sKKwlSZWxhdGlvbgl0YXJnZXRyZWwgPSBwc3RhdGUtPnBfdGFyZ2V0X3JlbGF0aW9uOwor CVJURVBlcm1pc3Npb25JbmZvICp0YXJnZXRfcGVybWluZm8gPSBwc3RhdGUtPnBfdGFyZ2V0X25z aXRlbS0+cF9wZXJtaW5mbzsKKwljaGFyCSAgICpyYW5nZV9uYW1lID0gZm9yUG9ydGlvbk9mLT5y YW5nZV9uYW1lOworCWNoYXIJICAgKnJhbmdlX3R5cGVfbmFtZXNwYWNlID0gTlVMTDsKKwljaGFy CSAgICpyYW5nZV90eXBlX25hbWUgPSBOVUxMOworCWludAkJCXJhbmdlX2F0dG5vID0gSW52YWxp ZEF0dHJOdW1iZXI7CisJRm9ybV9wZ19hdHRyaWJ1dGUgYXR0cjsKKwlPaWQJCQlvcGNsYXNzOwor CU9pZAkJCW9wZmFtaWx5OworCU9pZAkJCW9wY2ludHlwZTsKKwlpbnQJCQlmZ2NfZmxhZ3M7CisJ T2lkCQkJZnVuY2lkID0gSW52YWxpZE9pZDsKKwlTdHJhdGVneU51bWJlciBzdHJhdDsKKwlPaWQJ CQlvcGlkOworCUZvclBvcnRpb25PZkV4cHIgKnJlc3VsdDsKKwlWYXIJCSAgICpyYW5nZVZhcjsK KwlOb2RlCSAgICp0YXJnZXRFeHByOworCisJLyogV2UgZG9uJ3Qgc3VwcG9ydCBGT1IgUE9SVElP TiBPRiBGRFcgcXVlcmllcy4gKi8KKwlpZiAodGFyZ2V0cmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0g UkVMS0lORF9GT1JFSUdOX1RBQkxFKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVS UkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJmb3JlaWduIHRhYmxl cyBkb24ndCBzdXBwb3J0IEZPUiBQT1JUSU9OIE9GIikpKTsKKworCXJlc3VsdCA9IG1ha2VOb2Rl KEZvclBvcnRpb25PZkV4cHIpOworCisJLyogTG9vayB1cCB0aGUgRk9SIFBPUlRJT04gT0YgbmFt ZSByZXF1ZXN0ZWQuICovCisJcmFuZ2VfYXR0bm8gPSBhdHRuYW1lQXR0TnVtKHRhcmdldHJlbCwg cmFuZ2VfbmFtZSwgZmFsc2UpOworCWlmIChyYW5nZV9hdHRubyA9PSBJbnZhbGlkQXR0ck51bWJl cikKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9DT0xV TU4pLAorCQkJCSBlcnJtc2coImNvbHVtbiBvciBwZXJpb2QgXCIlc1wiIG9mIHJlbGF0aW9uIFwi JXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQlyYW5nZV9uYW1lLAorCQkJCQkJUmVsYXRpb25H ZXRSZWxhdGlvbk5hbWUodGFyZ2V0cmVsKSksCisJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3Rh dGUsIGZvclBvcnRpb25PZi0+bG9jYXRpb24pKSk7CisJYXR0ciA9IFR1cGxlRGVzY0F0dHIodGFy Z2V0cmVsLT5yZF9hdHQsIHJhbmdlX2F0dG5vIC0gMSk7CisKKwlyYW5nZVZhciA9IG1ha2VWYXIo CisJCQkJCSAgIHJ0aW5kZXgsCisJCQkJCSAgIHJhbmdlX2F0dG5vLAorCQkJCQkgICBhdHRyLT5h dHR0eXBpZCwKKwkJCQkJICAgYXR0ci0+YXR0dHlwbW9kLAorCQkJCQkgICBhdHRyLT5hdHRjb2xs YXRpb24sCisJCQkJCSAgIDApOworCXJhbmdlVmFyLT5sb2NhdGlvbiA9IGZvclBvcnRpb25PZi0+ bG9jYXRpb247CisJcmVzdWx0LT5yYW5nZVZhciA9IHJhbmdlVmFyOworCXJlc3VsdC0+cmFuZ2VU eXBlID0gYXR0ci0+YXR0dHlwaWQ7CisJaWYgKCFnZXRfdHlwbmFtZV9hbmRfbmFtZXNwYWNlKGF0 dHItPmF0dHR5cGlkLCAmcmFuZ2VfdHlwZV9uYW1lLCAmcmFuZ2VfdHlwZV9uYW1lc3BhY2UpKQor CQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgdHlwZSAldSIsIGF0dHItPmF0 dHR5cGlkKTsKKworCisJaWYgKGZvclBvcnRpb25PZi0+dGFyZ2V0KQorCisJCS8qCisJCSAqIFdl IHdlcmUgYWxyZWFkeSBnaXZlbiBhbiBleHByZXNzaW9uIGZvciB0aGUgdGFyZ2V0LCBzbyB3ZSBk b24ndAorCQkgKiBoYXZlIHRvIGJ1aWxkIGFueXRoaW5nLgorCQkgKi8KKwkJdGFyZ2V0RXhwciA9 IGZvclBvcnRpb25PZi0+dGFyZ2V0OworCWVsc2UKKwl7CisJCS8qIE1ha2Ugc3VyZSBpdCdzIGEg cmFuZ2UgY29sdW1uICovCisJCWlmICghdHlwZV9pc19yYW5nZShhdHRyLT5hdHR0eXBpZCkpCisJ CQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfQ09MVU1OX1JF RkVSRU5DRSksCisJCQkJCSBlcnJtc2coImNvbHVtbiBcIiVzXCIgb2YgcmVsYXRpb24gXCIlc1wi IGlzIG5vdCBhIHJhbmdlIHR5cGUiLAorCQkJCQkJCXJhbmdlX25hbWUsCisJCQkJCQkJUmVsYXRp b25HZXRSZWxhdGlvbk5hbWUodGFyZ2V0cmVsKSksCisJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24o cHN0YXRlLCBmb3JQb3J0aW9uT2YtPmxvY2F0aW9uKSkpOworCisJCS8qCisJCSAqIEJ1aWxkIGEg cmFuZ2UgZnJvbSB0aGUgRlJPTSAuLi4gVE8gLi4uLiBib3VuZHMuIFRoaXMgc2hvdWxkIGdpdmUg YQorCQkgKiBjb25zdGFudCByZXN1bHQsIHNvIHdlIGFjY2VwdCBmdW5jdGlvbnMgbGlrZSBOT1co KSBidXQgbm90IGNvbHVtbgorCQkgKiByZWZlcmVuY2VzLCBzdWJxdWVyaWVzLCBldGMuCisJCSAq LworCQl0YXJnZXRFeHByID0gKE5vZGUgKikgbWFrZUZ1bmNDYWxsKAorCQkJCQkJCQkJCSAgIGxp c3RfbWFrZTIobWFrZVN0cmluZyhyYW5nZV90eXBlX25hbWVzcGFjZSksIG1ha2VTdHJpbmcocmFu Z2VfdHlwZV9uYW1lKSksCisJCQkJCQkJCQkJICAgbGlzdF9tYWtlMihmb3JQb3J0aW9uT2YtPnRh cmdldF9zdGFydCwgZm9yUG9ydGlvbk9mLT50YXJnZXRfZW5kKSwKKwkJCQkJCQkJCQkgICBDT0VS Q0VfRVhQTElDSVRfQ0FMTCwKKwkJCQkJCQkJCQkgICBmb3JQb3J0aW9uT2YtPmxvY2F0aW9uKTsK Kwl9CisJcmVzdWx0LT50YXJnZXRSYW5nZSA9IHRyYW5zZm9ybUV4cHIocHN0YXRlLCB0YXJnZXRF eHByLCBFWFBSX0tJTkRfVVBEQVRFX1BPUlRJT04pOworCisJLyoKKwkgKiBCdWlsZCBvdmVybGFw c0V4cHIgdG8gdXNlIGluIHRoZSB3aGVyZUNsYXVzZS4gVGhpcyBtZWFucyB3ZSBvbmx5IGhpdAor CSAqIHJvd3MgbWF0Y2hpbmcgdGhlIEZST00gJiBUTyBib3VuZHMuIFdlIG11c3QgbG9vayB1cCB0 aGUgb3ZlcmxhcHMKKwkgKiBvcGVyYXRvciAodXN1YWxseSAiJiYiKS4KKwkgKi8KKwlvcGNsYXNz ID0gR2V0RGVmYXVsdE9wQ2xhc3MoYXR0ci0+YXR0dHlwaWQsIEdJU1RfQU1fT0lEKTsKKwlzdHJh dCA9IFJUT3ZlcmxhcFN0cmF0ZWd5TnVtYmVyOworCUdldE9wZXJhdG9yRnJvbUNvbXBhcmVUeXBl KG9wY2xhc3MsIEludmFsaWRPaWQsIENPTVBBUkVfT1ZFUkxBUCwgJm9waWQsICZzdHJhdCk7CisJ cmVzdWx0LT5vdmVybGFwc0V4cHIgPSAoTm9kZSAqKSBtYWtlU2ltcGxlQV9FeHByKEFFWFBSX09Q LCBnZXRfb3BuYW1lKG9waWQpLAorCQkJCQkJCQkJCQkJCSAoTm9kZSAqKSBjb3B5T2JqZWN0KHJh bmdlVmFyKSwgdGFyZ2V0RXhwciwKKwkJCQkJCQkJCQkJCQkgZm9yUG9ydGlvbk9mLT5sb2NhdGlv bik7CisKKwkvKgorCSAqIExvb2sgdXAgdGhlIHdpdGhvdXRfcG9ydGlvbiBmdW5jLiBUaGlzIGNv bXB1dGVzIHRoZSBib3VuZHMgb2YgdGVtcG9yYWwKKwkgKiBsZWZ0b3ZlcnMuCisJICoKKwkgKiBY WFg6IEZpbmQgYSBtb3JlIGV4dGVuc2libGUgd2F5IHRvIGxvb2sgdXAgdGhlIGZ1bmN0aW9uLCBw ZXJtaXR0aW5nCisJICogdXNlci1kZWZpbmVkIHR5cGVzLiBBbiBvcGNsYXNzIHN1cHBvcnQgZnVu Y3Rpb24gZG9lc24ndCBtYWtlIHNlbnNlLAorCSAqIHNpbmNlIHRoZXJlIGlzIG5vIGluZGV4IGlu dm9sdmVkLiBQZXJoYXBzIGEgdHlwZSBzdXBwb3J0IGZ1bmN0aW9uLgorCSAqLworCWlmIChnZXRf b3BjbGFzc19vcGZhbWlseV9hbmRfaW5wdXRfdHlwZShvcGNsYXNzLCAmb3BmYW1pbHksICZvcGNp bnR5cGUpKQorCQlzd2l0Y2ggKG9wY2ludHlwZSkKKwkJeworCQkJY2FzZSBBTllSQU5HRU9JRDoK KwkJCQlyZXN1bHQtPndpdGhvdXRQb3J0aW9uUHJvYyA9IEZfUkFOR0VfTUlOVVNfTVVMVEk7CisJ CQkJYnJlYWs7CisJCQljYXNlIEFOWU1VTFRJUkFOR0VPSUQ6CisJCQkJcmVzdWx0LT53aXRob3V0 UG9ydGlvblByb2MgPSBGX01VTFRJUkFOR0VfTUlOVVNfTVVMVEk7CisJCQkJYnJlYWs7CisJCQlk ZWZhdWx0OgorCQkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIG9wY2ludHlwZTogJXUiLCBvcGNp bnR5cGUpOworCQl9CisJZWxzZQorCQllbG9nKEVSUk9SLCAidW5leHBlY3RlZCBvcGNsYXNzOiAl dSIsIG9wY2xhc3MpOworCisJaWYgKGlzVXBkYXRlKQorCXsKKwkJLyoKKwkJICogTm93IG1ha2Ug c3VyZSB3ZSB1cGRhdGUgdGhlIHN0YXJ0L2VuZCB0aW1lIG9mIHRoZSByZWNvcmQuIEZvciBhCisJ CSAqIHJhbmdlIGNvbCAocikgdGhpcyBpcyBgciA9IHIgKiB0YXJnZXRSYW5nZWAuCisJCSAqLwor CQlPaWQJCQlpbnRlcnNlY3RvcGVyb2lkOworCQlMaXN0CSAgICpmdW5jQXJncyA9IE5JTDsKKwkJ RnVuY0V4cHIgICAqcmFuZ2VUTEVFeHByOworCQlUYXJnZXRFbnRyeSAqdGxlOworCisJCS8qCisJ CSAqIFdoYXRldmVyIG9wZXJhdG9yIGlzIHVzZWQgZm9yIGludGVyc2VjdCBieSB0ZW1wb3JhbCBm b3JlaWduIGtleXMsCisJCSAqIHdlIGNhbiB1c2UgaXRzIGJhY2tpbmcgcHJvY2VkdXJlIGZvciBp bnRlcnNlY3RzIGluIEZPUiBQT1JUSU9OIE9GLgorCQkgKiBYWFg6IFNoYXJlIGNvZGUgd2l0aCBG aW5kRktQZXJpb2RPcGVycz8KKwkJICovCisJCXN3aXRjaCAob3BjaW50eXBlKQorCQl7CisJCQlj YXNlIEFOWVJBTkdFT0lEOgorCQkJCWludGVyc2VjdG9wZXJvaWQgPSBPSURfUkFOR0VfSU5URVJT RUNUX1JBTkdFX09QOworCQkJCWJyZWFrOworCQkJY2FzZSBBTllNVUxUSVJBTkdFT0lEOgorCQkJ CWludGVyc2VjdG9wZXJvaWQgPSBPSURfTVVMVElSQU5HRV9JTlRFUlNFQ1RfTVVMVElSQU5HRV9P UDsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJZWxvZyhFUlJPUiwgIlVuZXhwZWN0ZWQg b3BjaW50eXBlOiAldSIsIG9wY2ludHlwZSk7CisJCX0KKwkJZnVuY2lkID0gZ2V0X29wY29kZShp bnRlcnNlY3RvcGVyb2lkKTsKKwkJaWYgKCFPaWRJc1ZhbGlkKGZ1bmNpZCkpCisJCQllcmVwb3J0 KEVSUk9SLAorCQkJCQllcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09CSkVDVCksCisJCQkJCWVy cm1zZygiY291bGQgbm90IGlkZW50aWZ5IGFuIGludGVyc2VjdCBmdW5jdGlvbiBmb3IgdHlwZSAl cyIsIGZvcm1hdF90eXBlX2JlKG9wY2ludHlwZSkpKTsKKworCQl0YXJnZXRFeHByID0gdHJhbnNm b3JtRXhwcihwc3RhdGUsIHRhcmdldEV4cHIsIEVYUFJfS0lORF9VUERBVEVfUE9SVElPTik7CisJ CWZ1bmNBcmdzID0gbGFwcGVuZChmdW5jQXJncywgY29weU9iamVjdChyYW5nZVZhcikpOworCQlm dW5jQXJncyA9IGxhcHBlbmQoZnVuY0FyZ3MsIHRhcmdldEV4cHIpOworCQlyYW5nZVRMRUV4cHIg PSBtYWtlRnVuY0V4cHIoZnVuY2lkLCBhdHRyLT5hdHR0eXBpZCwgZnVuY0FyZ3MsCisJCQkJCQkJ CQlJbnZhbGlkT2lkLCBJbnZhbGlkT2lkLCBDT0VSQ0VfRVhQTElDSVRfQ0FMTCk7CisKKwkJLyog TWFrZSBhIFRMRSB0byBzZXQgdGhlIHJhbmdlIGNvbHVtbiAqLworCQlyZXN1bHQtPnJhbmdlVGFy Z2V0TGlzdCA9IE5JTDsKKwkJdGxlID0gbWFrZVRhcmdldEVudHJ5KChFeHByICopIHJhbmdlVExF RXhwciwgcmFuZ2VfYXR0bm8sIHJhbmdlX25hbWUsIGZhbHNlKTsKKwkJcmVzdWx0LT5yYW5nZVRh cmdldExpc3QgPSBsYXBwZW5kKHJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0LCB0bGUpOworCisJCS8q IE1hcmsgdGhlIHJhbmdlIGNvbHVtbiBhcyByZXF1aXJpbmcgdXBkYXRlIHBlcm1pc3Npb25zICov CisJCXRhcmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMgPSBibXNfYWRkX21lbWJlcih0YXJnZXRf cGVybWluZm8tPnVwZGF0ZWRDb2xzLAorCQkJCQkJCQkJCQkJCSAgcmFuZ2VfYXR0bm8gLSBGaXJz dExvd0ludmFsaWRIZWFwQXR0cmlidXRlTnVtYmVyKTsKKwl9CisJZWxzZQorCQlyZXN1bHQtPnJh bmdlVGFyZ2V0TGlzdCA9IE5JTDsKKworCXJlc3VsdC0+cmFuZ2VfbmFtZSA9IHJhbmdlX25hbWU7 CisKKwlyZXR1cm4gcmVzdWx0OworfQogCiAvKgogICogQnVpbGRPbkNvbmZsaWN0RXhjbHVkZWRU YXJnZXRsaXN0CkBAIC0yNDkxLDYgKzI3MTAsNyBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNl U3RhdGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCkKIHsKIAlRdWVyeQkgICAqcXJ5ID0gbWFr ZU5vZGUoUXVlcnkpOwogCVBhcnNlTmFtZXNwYWNlSXRlbSAqbnNpdGVtOworCU5vZGUJICAgKndo ZXJlQ2xhdXNlOwogCU5vZGUJICAgKnF1YWw7CiAKIAlxcnktPmNvbW1hbmRUeXBlID0gQ01EX1VQ REFURTsKQEAgLTI1MDgsNiArMjcyOCwxMCBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3Rh dGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCkKIAkJCQkJCQkJCQkgc3RtdC0+cmVsYXRpb24t PmluaCwKIAkJCQkJCQkJCQkgdHJ1ZSwKIAkJCQkJCQkJCQkgQUNMX1VQREFURSk7CisKKwlpZiAo c3RtdC0+Zm9yUG9ydGlvbk9mKQorCQlxcnktPmZvclBvcnRpb25PZiA9IHRyYW5zZm9ybUZvclBv cnRpb25PZkNsYXVzZShwc3RhdGUsIHFyeS0+cmVzdWx0UmVsYXRpb24sIHN0bXQtPmZvclBvcnRp b25PZiwgdHJ1ZSk7CisKIAluc2l0ZW0gPSBwc3RhdGUtPnBfdGFyZ2V0X25zaXRlbTsKIAogCS8q IHN1YnF1ZXJpZXMgaW4gRlJPTSBjYW5ub3QgYWNjZXNzIHRoZSByZXN1bHQgcmVsYXRpb24gKi8K QEAgLTI1MjQsNyArMjc0OCw4IEBAIHRyYW5zZm9ybVVwZGF0ZVN0bXQoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBVcGRhdGVTdG10ICpzdG10KQogCW5zaXRlbS0+cF9sYXRlcmFsX29ubHkgPSBmYWxzZTsK IAluc2l0ZW0tPnBfbGF0ZXJhbF9vayA9IHRydWU7CiAKLQlxdWFsID0gdHJhbnNmb3JtV2hlcmVD bGF1c2UocHN0YXRlLCBzdG10LT53aGVyZUNsYXVzZSwKKwl3aGVyZUNsYXVzZSA9IGFkZEZvclBv cnRpb25PZldoZXJlQ29uZGl0aW9ucyhxcnksIHN0bXQtPmZvclBvcnRpb25PZiwgc3RtdC0+d2hl cmVDbGF1c2UpOworCXF1YWwgPSB0cmFuc2Zvcm1XaGVyZUNsYXVzZShwc3RhdGUsIHdoZXJlQ2xh dXNlLAogCQkJCQkJCQlFWFBSX0tJTkRfV0hFUkUsICJXSEVSRSIpOwogCiAJdHJhbnNmb3JtUmV0 dXJuaW5nQ2xhdXNlKHBzdGF0ZSwgcXJ5LCBzdG10LT5yZXR1cm5pbmdDbGF1c2UsCkBAIC0yNTM0 LDcgKzI3NTksNyBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVXBk YXRlU3RtdCAqc3RtdCkKIAkgKiBOb3cgd2UgYXJlIGRvbmUgd2l0aCBTRUxFQ1QtbGlrZSBwcm9j ZXNzaW5nLCBhbmQgY2FuIGdldCBvbiB3aXRoCiAJICogdHJhbnNmb3JtaW5nIHRoZSB0YXJnZXQg bGlzdCB0byBtYXRjaCB0aGUgVVBEQVRFIHRhcmdldCBjb2x1bW5zLgogCSAqLwotCXFyeS0+dGFy Z2V0TGlzdCA9IHRyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QocHN0YXRlLCBzdG10LT50YXJnZXRM aXN0KTsKKwlxcnktPnRhcmdldExpc3QgPSB0cmFuc2Zvcm1VcGRhdGVUYXJnZXRMaXN0KHBzdGF0 ZSwgc3RtdC0+dGFyZ2V0TGlzdCwgcXJ5LT5mb3JQb3J0aW9uT2YpOwogCiAJcXJ5LT5ydGFibGUg PSBwc3RhdGUtPnBfcnRhYmxlOwogCXFyeS0+cnRlcGVybWluZm9zID0gcHN0YXRlLT5wX3J0ZXBl cm1pbmZvczsKQEAgLTI1NTMsNyArMjc3OCw3IEBAIHRyYW5zZm9ybVVwZGF0ZVN0bXQoUGFyc2VT dGF0ZSAqcHN0YXRlLCBVcGRhdGVTdG10ICpzdG10KQogICoJaGFuZGxlIFNFVCBjbGF1c2UgaW4g VVBEQVRFL01FUkdFL0lOU0VSVCAuLi4gT04gQ09ORkxJQ1QgVVBEQVRFCiAgKi8KIExpc3QgKgot dHJhbnNmb3JtVXBkYXRlVGFyZ2V0TGlzdChQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKm9yaWdU bGlzdCkKK3RyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0 ICpvcmlnVGxpc3QsIEZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZikKIHsKIAlMaXN0CSAg ICp0bGlzdCA9IE5JTDsKIAlSVEVQZXJtaXNzaW9uSW5mbyAqdGFyZ2V0X3Blcm1pbmZvOwpAQCAt MjYwNiw2ICsyODMxLDIwIEBAIHRyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QoUGFyc2VTdGF0ZSAq cHN0YXRlLCBMaXN0ICpvcmlnVGxpc3QpCiAJCQkJCSBlcnJoaW50KCJTRVQgdGFyZ2V0IGNvbHVt bnMgY2Fubm90IGJlIHF1YWxpZmllZCB3aXRoIHRoZSByZWxhdGlvbiBuYW1lLiIpIDogMCwKIAkJ CQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIG9yaWdUYXJnZXQtPmxvY2F0aW9uKSkpOwog CisJCS8qCisJCSAqIElmIHRoaXMgaXMgYSBGT1IgUE9SVElPTiBPRiB1cGRhdGUsIGZvcmJpZCBk aXJlY3RseSBzZXR0aW5nIHRoZQorCQkgKiByYW5nZSBjb2x1bW4sIHNpbmNlIHRoYXQgd291bGQg Y29uZmxpY3Qgd2l0aCB0aGUgaW1wbGljaXQgdXBkYXRlcy4KKwkJICovCisJCWlmIChmb3JQb3J0 aW9uT2YgIT0gTlVMTCkKKwkJeworCQkJaWYgKGF0dHJubyA9PSBmb3JQb3J0aW9uT2YtPnJhbmdl VmFyLT52YXJhdHRubykKKwkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJKGVycmNvZGUoRVJSQ09E RV9TWU5UQVhfRVJST1IpLAorCQkJCQkJIGVycm1zZygiY2FuJ3QgZGlyZWN0bHkgYXNzaWduIHRv IFwiJXNcIiBpbiBhIEZPUiBQT1JUSU9OIE9GIHVwZGF0ZSIsCisJCQkJCQkJCW9yaWdUYXJnZXQt Pm5hbWUpLAorCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIG9yaWdUYXJnZXQtPmxv Y2F0aW9uKSkpOworCQl9CisKIAkJdXBkYXRlVGFyZ2V0TGlzdEVudHJ5KHBzdGF0ZSwgdGxlLCBv cmlnVGFyZ2V0LT5uYW1lLAogCQkJCQkJCSAgYXR0cm5vLAogCQkJCQkJCSAgb3JpZ1RhcmdldC0+ aW5kaXJlY3Rpb24sCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCBhNGIyOWM4MjJlOC4uMWFhYmY4MmFjODggMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0ueQpAQCAtMjUwLDYgKzI1MCw3IEBAIHN0YXRpYyBOb2RlICptYWtlUmVjdXJzaXZl Vmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpxdWVyeSk7CiAJ UmFuZ2VWYXIgICAqcmFuZ2U7CiAJSW50b0NsYXVzZSAqaW50bzsKIAlXaXRoQ2xhdXNlICp3aXRo OworCUZvclBvcnRpb25PZkNsYXVzZSAqZm9ycG9ydGlvbm9mOwogCUluZmVyQ2xhdXNlCSppbmZl cjsKIAlPbkNvbmZsaWN0Q2xhdXNlICpvbmNvbmZsaWN0OwogCUFfSW5kaWNlcyAgKmFpbmQ7CkBA IC01NTQsNiArNTU1LDggQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNo YXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICV0eXBlIDxyYW5nZT4J cmVsYXRpb25fZXhwcgogJXR5cGUgPHJhbmdlPglleHRlbmRlZF9yZWxhdGlvbl9leHByCiAldHlw ZSA8cmFuZ2U+CXJlbGF0aW9uX2V4cHJfb3B0X2FsaWFzCisldHlwZSA8YWxpYXM+CW9wdF9hbGlh cworJXR5cGUgPGZvcnBvcnRpb25vZj4gZm9yX3BvcnRpb25fb2ZfY2xhdXNlCiAldHlwZSA8bm9k ZT4JdGFibGVzYW1wbGVfY2xhdXNlIG9wdF9yZXBlYXRhYmxlX2NsYXVzZQogJXR5cGUgPHRhcmdl dD4JdGFyZ2V0X2VsIHNldF90YXJnZXQgaW5zZXJ0X2NvbHVtbl9pdGVtCiAKQEAgLTc2Myw3ICs3 NjYsNyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFt ZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCU9WRVIgT1ZFUkxBUFMgT1ZFUkxBWSBP VkVSUklESU5HIE9XTkVEIE9XTkVSCiAKIAlQQVJBTExFTCBQQVJBTUVURVIgUEFSU0VSIFBBUlRJ QUwgUEFSVElUSU9OIFBBU1NJTkcgUEFTU1dPUkQgUEFUSAotCVBFUklPRCBQTEFDSU5HIFBMQU4g UExBTlMgUE9MSUNZCisJUEVSSU9EIFBMQUNJTkcgUExBTiBQTEFOUyBQT0xJQ1kgUE9SVElPTgog CVBPU0lUSU9OIFBSRUNFRElORyBQUkVDSVNJT04gUFJFU0VSVkUgUFJFUEFSRSBQUkVQQVJFRCBQ UklNQVJZCiAJUFJJT1IgUFJJVklMRUdFUyBQUk9DRURVUkFMIFBST0NFRFVSRSBQUk9DRURVUkVT IFBST0dSQU0gUFVCTElDQVRJT04KIApAQCAtODgyLDEyICs4ODUsMTUgQEAgc3RhdGljIE5vZGUg Km1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5v ZGUgKnF1ZXJ5KTsKICAqIGpzb25fcHJlZGljYXRlX3R5cGVfY29uc3RyYWludCBhbmQganNvbl9r ZXlfdW5pcXVlbmVzc19jb25zdHJhaW50X29wdAogICogcHJvZHVjdGlvbnMgKHNlZSBjb21tZW50 cyB0aGVyZSkuCiAgKgorICogVE8gaXMgYXNzaWduZWQgdGhlIHNhbWUgcHJlY2VkZW5jZSBhcyBJ REVOVCwgdG8gc3VwcG9ydCB0aGUgb3B0X2ludGVydmFsCisgKiBwcm9kdWN0aW9uIChzZWUgY29t bWVudCB0aGVyZSkuCisgKgogICogTGlrZSB0aGUgVU5CT1VOREVEIFBSRUNFRElORy9GT0xMT1dJ TkcgY2FzZSwgTkVTVEVEIGlzIGFzc2lnbmVkIGEgbG93ZXIKICAqIHByZWNlZGVuY2UgdGhhbiBQ QVRIIHRvIGZpeCBhbWJpZ3VpdHkgaW4gdGhlIGpzb25fdGFibGUgcHJvZHVjdGlvbi4KICAqLwog JW5vbmFzc29jCVVOQk9VTkRFRCBORVNURUQgLyogaWRlYWxseSB3b3VsZCBoYXZlIHNhbWUgcHJl Y2VkZW5jZSBhcyBJREVOVCAqLwogJW5vbmFzc29jCUlERU5UIFBBUlRJVElPTiBSQU5HRSBST1dT IEdST1VQUyBQUkVDRURJTkcgRk9MTE9XSU5HIENVQkUgUk9MTFVQCi0JCQlTRVQgS0VZUyBPQkpF Q1RfUCBTQ0FMQVIgVkFMVUVfUCBXSVRIIFdJVEhPVVQgUEFUSAorCQkJU0VUIEtFWVMgT0JKRUNU X1AgU0NBTEFSIFRPIFVTSU5HIFZBTFVFX1AgV0lUSCBXSVRIT1VUIFBBVEgKICVsZWZ0CQlPcCBP UEVSQVRPUgkJLyogbXVsdGktY2hhcmFjdGVyIG9wcyBhbmQgdXNlci1kZWZpbmVkIG9wZXJhdG9y cyAqLwogJWxlZnQJCScrJyAnLScKICVsZWZ0CQknKicgJy8nICclJwpAQCAtMTI1MzAsNiArMTI1 MzYsMjAgQEAgRGVsZXRlU3RtdDogb3B0X3dpdGhfY2xhdXNlIERFTEVURV9QIEZST00gcmVsYXRp b25fZXhwcl9vcHRfYWxpYXMKIAkJCQkJbi0+d2l0aENsYXVzZSA9ICQxOwogCQkJCQkkJCA9IChO b2RlICopIG47CiAJCQkJfQorCQkJfCBvcHRfd2l0aF9jbGF1c2UgREVMRVRFX1AgRlJPTSByZWxh dGlvbl9leHByIGZvcl9wb3J0aW9uX29mX2NsYXVzZSBvcHRfYWxpYXMKKwkJCXVzaW5nX2NsYXVz ZSB3aGVyZV9vcl9jdXJyZW50X2NsYXVzZSByZXR1cm5pbmdfY2xhdXNlCisJCQkJeworCQkJCQlE ZWxldGVTdG10ICpuID0gbWFrZU5vZGUoRGVsZXRlU3RtdCk7CisKKwkJCQkJbi0+cmVsYXRpb24g PSAkNDsKKwkJCQkJbi0+Zm9yUG9ydGlvbk9mID0gJDU7CisJCQkJCW4tPnJlbGF0aW9uLT5hbGlh cyA9ICQ2OworCQkJCQluLT51c2luZ0NsYXVzZSA9ICQ3OworCQkJCQluLT53aGVyZUNsYXVzZSA9 ICQ4OworCQkJCQluLT5yZXR1cm5pbmdDbGF1c2UgPSAkOTsKKwkJCQkJbi0+d2l0aENsYXVzZSA9 ICQxOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQogCQk7CiAKIHVzaW5nX2NsYXVzZToK QEAgLTEyNjA0LDYgKzEyNjI0LDI1IEBAIFVwZGF0ZVN0bXQ6IG9wdF93aXRoX2NsYXVzZSBVUERB VEUgcmVsYXRpb25fZXhwcl9vcHRfYWxpYXMKIAkJCQkJbi0+d2l0aENsYXVzZSA9ICQxOwogCQkJ CQkkJCA9IChOb2RlICopIG47CiAJCQkJfQorCQkJfCBvcHRfd2l0aF9jbGF1c2UgVVBEQVRFIHJl bGF0aW9uX2V4cHIKKwkJCWZvcl9wb3J0aW9uX29mX2NsYXVzZSBvcHRfYWxpYXMKKwkJCVNFVCBz ZXRfY2xhdXNlX2xpc3QKKwkJCWZyb21fY2xhdXNlCisJCQl3aGVyZV9vcl9jdXJyZW50X2NsYXVz ZQorCQkJcmV0dXJuaW5nX2NsYXVzZQorCQkJCXsKKwkJCQkJVXBkYXRlU3RtdCAqbiA9IG1ha2VO b2RlKFVwZGF0ZVN0bXQpOworCisJCQkJCW4tPnJlbGF0aW9uID0gJDM7CisJCQkJCW4tPmZvclBv cnRpb25PZiA9ICQ0OworCQkJCQluLT5yZWxhdGlvbi0+YWxpYXMgPSAkNTsKKwkJCQkJbi0+dGFy Z2V0TGlzdCA9ICQ3OworCQkJCQluLT5mcm9tQ2xhdXNlID0gJDg7CisJCQkJCW4tPndoZXJlQ2xh dXNlID0gJDk7CisJCQkJCW4tPnJldHVybmluZ0NsYXVzZSA9ICQxMDsKKwkJCQkJbi0+d2l0aENs YXVzZSA9ICQxOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQogCQk7CiAKIHNldF9jbGF1 c2VfbGlzdDoKQEAgLTE0MTAxLDYgKzE0MTQwLDQ0IEBAIHJlbGF0aW9uX2V4cHJfb3B0X2FsaWFz OiByZWxhdGlvbl9leHByCQkJCQklcHJlYyBVTUlOVVMKIAkJCQl9CiAJCTsKIAorb3B0X2FsaWFz OgorCQkJQVMgQ29sSWQKKwkJCQl7CisJCQkJCUFsaWFzCSAgICphbGlhcyA9IG1ha2VOb2RlKEFs aWFzKTsKKworCQkJCQlhbGlhcy0+YWxpYXNuYW1lID0gJDI7CisJCQkJCSQkID0gYWxpYXM7CisJ CQkJfQorCQkJfCBCYXJlQ29sTGFiZWwKKwkJCQl7CisJCQkJCUFsaWFzCSAgICphbGlhcyA9IG1h a2VOb2RlKEFsaWFzKTsKKworCQkJCQlhbGlhcy0+YWxpYXNuYW1lID0gJDE7CisJCQkJCSQkID0g YWxpYXM7CisJCQkJfQorCQkJfCAvKiBlbXB0eSAqLyAlcHJlYyBVTUlOVVMgeyAkJCA9IE5VTEw7 IH0KKwkJOworCitmb3JfcG9ydGlvbl9vZl9jbGF1c2U6CisJCQlGT1IgUE9SVElPTiBPRiBDb2xJ ZCAnKCcgYV9leHByICcpJworCQkJCXsKKwkJCQkJRm9yUG9ydGlvbk9mQ2xhdXNlICpuID0gbWFr ZU5vZGUoRm9yUG9ydGlvbk9mQ2xhdXNlKTsKKwkJCQkJbi0+cmFuZ2VfbmFtZSA9ICQ0OworCQkJ CQluLT5sb2NhdGlvbiA9IEA0OworCQkJCQluLT50YXJnZXQgPSAkNjsKKwkJCQkJJCQgPSBuOwor CQkJCX0KKwkJCXwgRk9SIFBPUlRJT04gT0YgQ29sSWQgRlJPTSBhX2V4cHIgVE8gYV9leHByCisJ CQkJeworCQkJCQlGb3JQb3J0aW9uT2ZDbGF1c2UgKm4gPSBtYWtlTm9kZShGb3JQb3J0aW9uT2ZD bGF1c2UpOworCQkJCQluLT5yYW5nZV9uYW1lID0gJDQ7CisJCQkJCW4tPmxvY2F0aW9uID0gQDQ7 CisJCQkJCW4tPnRhcmdldF9zdGFydCA9ICQ2OworCQkJCQluLT50YXJnZXRfZW5kID0gJDg7CisJ CQkJCSQkID0gbjsKKwkJCQl9CisJCTsKKwogLyoKICAqIFRBQkxFU0FNUExFIGRlY29yYXRpb24g aW4gYSBGUk9NIGl0ZW0KICAqLwpAQCAtMTQ5NDEsMTYgKzE1MDE4LDI1IEBAIG9wdF90aW1lem9u ZToKIAkJCXwgLypFTVBUWSovCQkJCQkJCQl7ICQkID0gZmFsc2U7IH0KIAkJOwogCisvKgorICog V2UgbmVlZCB0byBoYW5kbGUgdGhpcyBzaGlmdC9yZWR1Y2UgY29uZmxpY3Q6CisgKiBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NIHQgKyBJTlRFUlZBTCAnMScgWUVBUiBUTyBNT05USC4KKyAq IFdlIGRvbid0IHNlZSBmYXIgZW5vdWdoIGFoZWFkIHRvIGtub3cgaWYgdGhlcmUgaXMgYW5vdGhl ciBUTyBjb21pbmcuCisgKiBXZSBwcmVmZXIgdG8gaW50ZXJwcmV0IHRoaXMgYXMgRlJPTSAodCAr IElOVEVSVkFMICcxJyBZRUFSIFRPIE1PTlRIKSwKKyAqIGkuZS4gdG8gc2hpZnQuCisgKiBUaGF0 IGdpdmVzIHRoZSB1c2VyIHRoZSBvcHRpb24gb2YgYWRkaW5nIHBhcmVudGhlc2VzIHRvIGdldCB0 aGUgb3RoZXIgbWVhbmluZy4KKyAqIElmIHdlIHJlZHVjZWQsIGludGVydmFscyBjb3VsZCBuZXZl ciBoYXZlIGEgVE8uCisgKi8KIG9wdF9pbnRlcnZhbDoKLQkJCVlFQVJfUAorCQkJWUVBUl9QCQkJ CQkJCQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9IGxpc3RfbWFrZTEobWFrZUludENvbnN0 KElOVEVSVkFMX01BU0soWUVBUiksIEAxKSk7IH0KIAkJCXwgTU9OVEhfUAogCQkJCXsgJCQgPSBs aXN0X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZBTF9NQVNLKE1PTlRIKSwgQDEpKTsgfQotCQkJ fCBEQVlfUAorCQkJfCBEQVlfUAkJCQkJCQkJCQkJCQkJCQklcHJlYyBJUwogCQkJCXsgJCQgPSBs aXN0X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZBTF9NQVNLKERBWSksIEAxKSk7IH0KLQkJCXwg SE9VUl9QCisJCQl8IEhPVVJfUAkJCQkJCQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9IGxp c3RfbWFrZTEobWFrZUludENvbnN0KElOVEVSVkFMX01BU0soSE9VUiksIEAxKSk7IH0KLQkJCXwg TUlOVVRFX1AKKwkJCXwgTUlOVVRFX1AJCQkJCQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9 IGxpc3RfbWFrZTEobWFrZUludENvbnN0KElOVEVSVkFMX01BU0soTUlOVVRFKSwgQDEpKTsgfQog CQkJfCBpbnRlcnZhbF9zZWNvbmQKIAkJCQl7ICQkID0gJDE7IH0KQEAgLTE4MDA0LDYgKzE4MDkw LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBQTEFOCiAJCQl8IFBMQU5TCiAJCQl8IFBP TElDWQorCQkJfCBQT1JUSU9OCiAJCQl8IFBSRUNFRElORwogCQkJfCBQUkVQQVJFCiAJCQl8IFBS RVBBUkVECkBAIC0xODYzMyw2ICsxODcyMCw3IEBAIGJhcmVfbGFiZWxfa2V5d29yZDoKIAkJCXwg UExBTgogCQkJfCBQTEFOUwogCQkJfCBQT0xJQ1kKKwkJCXwgUE9SVElPTgogCQkJfCBQT1NJVElP TgogCQkJfCBQUkVDRURJTkcKIAkJCXwgUFJFUEFSRQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv cGFyc2VyL3BhcnNlX2FnZy5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2FnZy5jCmluZGV4 IDMyNTRjODNjYzZjLi44YjhjMmI5Mjk5YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX2FnZy5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYwpAQCAtNTc5 LDYgKzU3OSwxMyBAQCBjaGVja19hZ2dsZXZlbHNfYW5kX2NvbnN0cmFpbnRzKFBhcnNlU3RhdGUg KnBzdGF0ZSwgTm9kZSAqZXhwcikKIAkJY2FzZSBFWFBSX0tJTkRfQ1lDTEVfTUFSSzoKIAkJCWVy cmtpbmQgPSB0cnVlOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX1VQREFURV9QT1JUSU9O OgorCQkJaWYgKGlzQWdnKQorCQkJCWVyciA9IF8oImFnZ3JlZ2F0ZSBmdW5jdGlvbnMgYXJlIG5v dCBhbGxvd2VkIGluIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb25zIik7CisJCQllbHNlCisJCQkJ ZXJyID0gXygiZ3JvdXBpbmcgb3BlcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gRk9SIFBPUlRJ T04gT0YgZXhwcmVzc2lvbnMiKTsKKworCQkJYnJlYWs7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBp cyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKQEAgLTk5 Niw2ICsxMDAzLDkgQEAgdHJhbnNmb3JtV2luZG93RnVuY0NhbGwoUGFyc2VTdGF0ZSAqcHN0YXRl LCBXaW5kb3dGdW5jICp3ZnVuYywKIAkJY2FzZSBFWFBSX0tJTkRfQ1lDTEVfTUFSSzoKIAkJCWVy cmtpbmQgPSB0cnVlOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX1VQREFURV9QT1JUSU9O OgorCQkJZXJyID0gXygid2luZG93IGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gRk9SIFBP UlRJT04gT0YgZXhwcmVzc2lvbnMiKTsKKwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUg aXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY29sbGF0ZS5jIGIvc3JjL2JhY2tlbmQv cGFyc2VyL3BhcnNlX2NvbGxhdGUuYwppbmRleCBkMmUyMTgzNTNmMy4uNTIyMzQ1YjE2NjggMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9jb2xsYXRlLmMKKysrIGIvc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX2NvbGxhdGUuYwpAQCAtNDg0LDYgKzQ4NCw3IEBAIGFzc2lnbl9j b2xsYXRpb25zX3dhbGtlcihOb2RlICpub2RlLCBhc3NpZ25fY29sbGF0aW9uc19jb250ZXh0ICpj b250ZXh0KQogCQljYXNlIFRfSm9pbkV4cHI6CiAJCWNhc2UgVF9Gcm9tRXhwcjoKIAkJY2FzZSBU X09uQ29uZmxpY3RFeHByOgorCQljYXNlIFRfRm9yUG9ydGlvbk9mRXhwcjoKIAkJY2FzZSBUX1Nv cnRHcm91cENsYXVzZToKIAkJY2FzZSBUX01lcmdlQWN0aW9uOgogCQkJKHZvaWQpIGV4cHJlc3Np b25fdHJlZV93YWxrZXIobm9kZSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV9leHByLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCmluZGV4IDEyMTE5ZjE0 N2ZjLi5kOGE5NmZiZjUzNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4 cHIuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCkBAIC01ODUsNiArNTg1 LDkgQEAgdHJhbnNmb3JtQ29sdW1uUmVmKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ29sdW1uUmVmICpj cmVmKQogCQljYXNlIEVYUFJfS0lORF9QQVJUSVRJT05fQk9VTkQ6CiAJCQllcnIgPSBfKCJjYW5u b3QgdXNlIGNvbHVtbiByZWZlcmVuY2UgaW4gcGFydGl0aW9uIGJvdW5kIGV4cHJlc3Npb24iKTsK IAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lORF9VUERBVEVfUE9SVElPTjoKKwkJCWVyciA9IF8o ImNhbm5vdCB1c2UgY29sdW1uIHJlZmVyZW5jZSBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9u Iik7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkgbm8g ZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpAQCAtMTg2MSw2ICsxODY0LDkgQEAgdHJh bnNmb3JtU3ViTGluayhQYXJzZVN0YXRlICpwc3RhdGUsIFN1YkxpbmsgKnN1YmxpbmspCiAJCWNh c2UgRVhQUl9LSU5EX0dFTkVSQVRFRF9DT0xVTU46CiAJCQllcnIgPSBfKCJjYW5ub3QgdXNlIHN1 YnF1ZXJ5IGluIGNvbHVtbiBnZW5lcmF0aW9uIGV4cHJlc3Npb24iKTsKIAkJCWJyZWFrOworCQlj YXNlIEVYUFJfS0lORF9VUERBVEVfUE9SVElPTjoKKwkJCWVyciA9IF8oImNhbm5vdCB1c2Ugc3Vi cXVlcnkgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbiIpOworCQkJYnJlYWs7CiAKIAkJCS8q CiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28g dGhhdCB0aGUKQEAgLTMxNzQsNiArMzE4MCw4IEBAIFBhcnNlRXhwcktpbmROYW1lKFBhcnNlRXhw cktpbmQgZXhwcktpbmQpCiAJCQlyZXR1cm4gIlVQREFURSI7CiAJCWNhc2UgRVhQUl9LSU5EX01F UkdFX1dIRU46CiAJCQlyZXR1cm4gIk1FUkdFIFdIRU4iOworCQljYXNlIEVYUFJfS0lORF9VUERB VEVfUE9SVElPTjoKKwkJCXJldHVybiAiRk9SIFBPUlRJT04gT0YiOwogCQljYXNlIEVYUFJfS0lO RF9HUk9VUF9CWToKIAkJCXJldHVybiAiR1JPVVAgQlkiOwogCQljYXNlIEVYUFJfS0lORF9PUkRF Ul9CWToKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jCmluZGV4IDc3OGQ2OWM2ZjNjLi40NzY0ZGQyMWM5 MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYworKysgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jCkBAIC0yNzgzLDYgKzI3ODMsOSBAQCBjaGVja19z cmZfY2FsbF9wbGFjZW1lbnQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpsYXN0X3NyZiwgaW50 IGxvY2F0aW9uKQogCQljYXNlIEVYUFJfS0lORF9DWUNMRV9NQVJLOgogCQkJZXJya2luZCA9IHRy dWU7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBSX0tJTkRfVVBEQVRFX1BPUlRJT046CisJCQllcnIg PSBfKCJzZXQtcmV0dXJuaW5nIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gRk9SIFBPUlRJ T04gT0YgZXhwcmVzc2lvbnMiKTsKKwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUgaXMg aW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV9tZXJnZS5jCmluZGV4IDUxZDc3MDNlZmY3Li5lZDI3NmM0MTQ2MCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX21lcmdlLmMKQEAgLTM4NSw3ICszODUsNyBAQCB0cmFuc2Zvcm1NZXJnZVN0bXQo UGFyc2VTdGF0ZSAqcHN0YXRlLCBNZXJnZVN0bXQgKnN0bXQpCiAJCQkJCXBzdGF0ZS0+cF9pc19p bnNlcnQgPSBmYWxzZTsKIAkJCQkJYWN0aW9uLT50YXJnZXRMaXN0ID0KIAkJCQkJCXRyYW5zZm9y bVVwZGF0ZVRhcmdldExpc3QocHN0YXRlLAotCQkJCQkJCQkJCQkJICBtZXJnZVdoZW5DbGF1c2Ut PnRhcmdldExpc3QpOworCQkJCQkJCQkJCQkJICBtZXJnZVdoZW5DbGF1c2UtPnRhcmdldExpc3Qs IE5VTEwpOwogCQkJCX0KIAkJCQlicmVhazsKIAkJCWNhc2UgQ01EX0RFTEVURToKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3Jld3JpdGUvcmV3cml0ZUhhbmRsZXIuYyBiL3NyYy9iYWNrZW5kL3Jl d3JpdGUvcmV3cml0ZUhhbmRsZXIuYwppbmRleCBhZGM5ZTc2MDBlMS4uZTg4M2I3ZjJhNjAgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Jld3JpdGUvcmV3cml0ZUhhbmRsZXIuYworKysgYi9zcmMv YmFja2VuZC9yZXdyaXRlL3Jld3JpdGVIYW5kbGVyLmMKQEAgLTM3MjksNiArMzcyOSwzMCBAQCBy ZXdyaXRlVGFyZ2V0VmlldyhRdWVyeSAqcGFyc2V0cmVlLCBSZWxhdGlvbiB2aWV3KQogCQkJCQkJ CQkJICAmcGFyc2V0cmVlLT5oYXNTdWJMaW5rcyk7CiAJfQogCisJaWYgKHBhcnNldHJlZS0+Zm9y UG9ydGlvbk9mICYmIHBhcnNldHJlZS0+Y29tbWFuZFR5cGUgPT0gQ01EX1VQREFURSkKKwl7CisJ CS8qCisJCSAqIExpa2UgdGhlIElOU0VSVC9VUERBVEUgY29kZSBhYm92ZSwgdXBkYXRlIHRoZSBy ZXNub3MgaW4gdGhlCisJCSAqIGF1eGlsaWFyeSBVUERBVEUgdGFyZ2V0bGlzdCB0byByZWZlciB0 byBjb2x1bW5zIG9mIHRoZSBiYXNlCisJCSAqIHJlbGF0aW9uLgorCQkgKi8KKwkJZm9yZWFjaChs YywgcGFyc2V0cmVlLT5mb3JQb3J0aW9uT2YtPnJhbmdlVGFyZ2V0TGlzdCkKKwkJeworCQkJVGFy Z2V0RW50cnkgKnRsZSA9IChUYXJnZXRFbnRyeSAqKSBsZmlyc3QobGMpOworCQkJVGFyZ2V0RW50 cnkgKnZpZXdfdGxlOworCisJCQlpZiAodGxlLT5yZXNqdW5rKQorCQkJCWNvbnRpbnVlOworCisJ CQl2aWV3X3RsZSA9IGdldF90bGVfYnlfcmVzbm8odmlld190YXJnZXRsaXN0LCB0bGUtPnJlc25v KTsKKwkJCWlmICh2aWV3X3RsZSAhPSBOVUxMICYmICF2aWV3X3RsZS0+cmVzanVuayAmJiBJc0Eo dmlld190bGUtPmV4cHIsIFZhcikpCisJCQkJdGxlLT5yZXNubyA9ICgoVmFyICopIHZpZXdfdGxl LT5leHByKS0+dmFyYXR0bm87CisJCQllbHNlCisJCQkJZWxvZyhFUlJPUiwgImF0dHJpYnV0ZSBu dW1iZXIgJWQgbm90IGZvdW5kIGluIHZpZXcgdGFyZ2V0bGlzdCIsCisJCQkJCSB0bGUtPnJlc25v KTsKKwkJfQorCX0KKwogCS8qCiAJICogRm9yIFVQREFURS9ERUxFVEUvTUVSR0UsIHB1bGwgdXAg YW55IFdIRVJFIHF1YWxzIGZyb20gdGhlIHZpZXcuICBXZQogCSAqIGtub3cgdGhhdCBhbnkgVmFy cyBpbiB0aGUgcXVhbHMgbXVzdCByZWZlcmVuY2UgdGhlIG9uZSBiYXNlIHJlbGF0aW9uLApAQCAt NDA2OCw2ICs0MDkyLDI1IEBAIFJld3JpdGVRdWVyeShRdWVyeSAqcGFyc2V0cmVlLCBMaXN0ICpy ZXdyaXRlX2V2ZW50cywgaW50IG9yaWdfcnRfbGVuZ3RoKQogCQllbHNlIGlmIChldmVudCA9PSBD TURfVVBEQVRFKQogCQl7CiAJCQlBc3NlcnQocGFyc2V0cmVlLT5vdmVycmlkZSA9PSBPVkVSUklE SU5HX05PVF9TRVQpOworCisJCQkvKgorCQkJICogVXBkYXRlIEZPUiBQT1JUSU9OIE9GIGNvbHVt bihzKSBhdXRvbWF0aWNhbGx5LiBEb24ndCBkbyB0aGlzCisJCQkgKiB1bnRpbCB3ZSdyZSBkb25l IHJld3JpdGluZyBhIHZpZXcgdXBkYXRlLCBzbyB0aGF0IHdlIGRvbid0IGFkZAorCQkJICogdGhl IHNhbWUgdXBkYXRlIG9uIHRoZSByZWN1cnNpb24uCisJCQkgKi8KKwkJCWlmIChwYXJzZXRyZWUt PmZvclBvcnRpb25PZiAmJgorCQkJCXJ0X2VudHJ5X3JlbGF0aW9uLT5yZF9yZWwtPnJlbGtpbmQg IT0gUkVMS0lORF9WSUVXKQorCQkJeworCQkJCUxpc3RDZWxsICAgKnRsOworCisJCQkJZm9yZWFj aCh0bCwgcGFyc2V0cmVlLT5mb3JQb3J0aW9uT2YtPnJhbmdlVGFyZ2V0TGlzdCkKKwkJCQl7CisJ CQkJCVRhcmdldEVudHJ5ICp0bGUgPSAoVGFyZ2V0RW50cnkgKikgbGZpcnN0KHRsKTsKKworCQkJ CQlwYXJzZXRyZWUtPnRhcmdldExpc3QgPSBsYXBwZW5kKHBhcnNldHJlZS0+dGFyZ2V0TGlzdCwg dGxlKTsKKwkJCQl9CisJCQl9CisKIAkJCXBhcnNldHJlZS0+dGFyZ2V0TGlzdCA9CiAJCQkJcmV3 cml0ZVRhcmdldExpc3RJVShwYXJzZXRyZWUtPnRhcmdldExpc3QsCiAJCQkJCQkJCQlwYXJzZXRy ZWUtPmNvbW1hbmRUeXBlLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3Ry aWdnZXJzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYwppbmRleCAwNTlm YzVlYmY2MC4uZDZiMWViNTdhNDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9y aV90cmlnZ2Vycy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jCkBA IC0xMjgsNyArMTI4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUklfQ29uc3RyYWludEluZm8KIAlPaWQJ CQlmZl9lcV9vcHJzW1JJX01BWF9OVU1LRVlTXTsgLyogZXF1YWxpdHkgb3BlcmF0b3JzIChGSyA9 IEZLKSAqLwogCU9pZAkJCXBlcmlvZF9jb250YWluZWRfYnlfb3BlcjsJLyogYW55cmFuZ2UgPEAg YW55cmFuZ2UgKi8KIAlPaWQJCQlhZ2dlZF9wZXJpb2RfY29udGFpbmVkX2J5X29wZXI7IC8qIGZr YXR0ciA8QCByYW5nZV9hZ2cocGthdHRyKSAqLwotCU9pZAkJCXBlcmlvZF9pbnRlcnNlY3Rfb3Bl cjsJLyogYW55cmFuZ2UgKiBhbnlyYW5nZSAqLworCU9pZAkJCXBlcmlvZF9pbnRlcnNlY3Rfb3Bl cjsJLyogYW55cmFuZ2UgKiBhbnlyYW5nZSAob3IgbXVsdGlyYW5nZSkgKi8KIAlkbGlzdF9ub2Rl CXZhbGlkX2xpbms7CQkvKiBMaW5rIGluIGxpc3Qgb2YgdmFsaWQgZW50cmllcyAqLwogfSBSSV9D b25zdHJhaW50SW5mbzsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5 c2NhY2hlLmMgYi9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYwppbmRleCBmYTdj ZDdlMDZhNy4uNDMxNThhZmFjMTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hl L2xzeXNjYWNoZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCkBA IC0yMzU1LDYgKzIzNTUsMzMgQEAgZ2V0X3R5cGlzZGVmaW5lZChPaWQgdHlwaWQpCiAJCXJldHVy biBmYWxzZTsKIH0KIAorLyoKKyAqIGdldF90eXBuYW1lX2FuZF9uYW1lc3BhY2UKKyAqCisgKgkg IFJldHVybnMgdGhlIG5hbWUgYW5kIG5hbWVzcGFjZSBvZiBhIGdpdmVuIHR5cGUKKyAqCisgKiBS ZXR1cm5zIHRydWUgaWYgb25lIGZvdW5kLCBvciBmYWxzZSBpZiBub3QuCisgKi8KK2Jvb2wKK2dl dF90eXBuYW1lX2FuZF9uYW1lc3BhY2UoT2lkIHR5cGlkLCBjaGFyICoqdHlwbmFtZSwgY2hhciAq KnR5cG5hbWVzcGFjZSkKK3sKKwlIZWFwVHVwbGUJdHA7CisKKwl0cCA9IFNlYXJjaFN5c0NhY2hl MShUWVBFT0lELCBPYmplY3RJZEdldERhdHVtKHR5cGlkKSk7CisJaWYgKEhlYXBUdXBsZUlzVmFs aWQodHApKQorCXsKKwkJRm9ybV9wZ190eXBlIHR5cHR1cCA9IChGb3JtX3BnX3R5cGUpIEdFVFNU UlVDVCh0cCk7CisKKwkJKnR5cG5hbWUgPSBwc3RyZHVwKE5hbWVTdHIodHlwdHVwLT50eXBuYW1l KSk7CisJCSp0eXBuYW1lc3BhY2UgPSBnZXRfbmFtZXNwYWNlX25hbWUodHlwdHVwLT50eXBuYW1l c3BhY2UpOworCQlSZWxlYXNlU3lzQ2FjaGUodHApOworCQkvKiAqdHlwbmFtZXNwYWNlIGlzIE5V TEwgaWYgaXQgd2Fzbid0IGZvdW5kOiAqLworCQlyZXR1cm4gKnR5cG5hbWVzcGFjZTsKKwl9CisJ ZWxzZQorCQlyZXR1cm4gZmFsc2U7Cit9CisKIC8qCiAgKiBnZXRfdHlwbGVuCiAgKgpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9l eGVjbm9kZXMuaAppbmRleCBhMzY2NTNjMzdmOS4uNzdjOTQ2OTEzOWIgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNu b2Rlcy5oCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAidXRpbHMvc29ydHN1cHBvcnQuaCIK ICNpbmNsdWRlICJ1dGlscy90dXBsZXNvcnQuaCIKICNpbmNsdWRlICJ1dGlscy90dXBsZXN0b3Jl LmgiCisjaW5jbHVkZSAidXRpbHMvdHlwY2FjaGUuaCIKIAogLyoKICAqIGZvcndhcmQgcmVmZXJl bmNlcyBpbiB0aGlzIGZpbGUKQEAgLTQ1Miw2ICs0NTMsMjQgQEAgdHlwZWRlZiBzdHJ1Y3QgTWVy Z2VBY3Rpb25TdGF0ZQogCUV4cHJTdGF0ZSAgKm1hc193aGVucXVhbDsJLyogV0hFTiBbTk9UXSBN QVRDSEVEIEFORCBjb25kaXRpb25zICovCiB9IE1lcmdlQWN0aW9uU3RhdGU7CiAKKy8qCisgKiBG b3JQb3J0aW9uT2ZTdGF0ZQorICoKKyAqIEV4ZWN1dG9yIHN0YXRlIG9mIGEgRk9SIFBPUlRJT04g T0Ygb3BlcmF0aW9uLgorICovCit0eXBlZGVmIHN0cnVjdCBGb3JQb3J0aW9uT2ZTdGF0ZQorewor CU5vZGVUYWcJCXR5cGU7CisKKwljaGFyCSAgICpmcF9yYW5nZU5hbWU7CS8qIHRoZSBjb2x1bW4g bmFtZWQgaW4gRk9SIFBPUlRJT04gT0YgKi8KKwlPaWQJCQlmcF9yYW5nZVR5cGU7CS8qIHRoZSB0 eXBlIG9mIHRoZSBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9uICovCisJaW50CQkJZnBfcmFuZ2VB dHRubzsJLyogdGhlIGF0dG5vIG9mIHRoZSByYW5nZSBjb2x1bW4gKi8KKwlEYXR1bQkJZnBfdGFy Z2V0UmFuZ2U7IC8qIHRoZSByYW5nZS9tdWx0aXJhbmdlIGZyb20gRk9SIFBPUlRJT04gT0YgKi8K KwlUeXBlQ2FjaGVFbnRyeSAqZnBfbGVmdG92ZXJzdHlwY2FjaGU7CS8qIHR5cGUgY2FjaGUgZW50 cnkgb2YgdGhlIHJhbmdlICovCisJVHVwbGVUYWJsZVNsb3QgKmZwX0V4aXN0aW5nOwkvKiBzbG90 IHRvIHN0b3JlIG9sZCB0dXBsZSAqLworCVR1cGxlVGFibGVTbG90ICpmcF9MZWZ0b3ZlcjsJLyog c2xvdCB0byBzdG9yZSBsZWZ0b3ZlciAqLworfSBGb3JQb3J0aW9uT2ZTdGF0ZTsKKwogLyoKICAq IFJlc3VsdFJlbEluZm8KICAqCkBAIC01ODgsNiArNjA3LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgUmVz dWx0UmVsSW5mbwogCS8qIGZvciBNRVJHRSwgZXhwciBzdGF0ZSBmb3IgY2hlY2tpbmcgdGhlIGpv aW4gY29uZGl0aW9uICovCiAJRXhwclN0YXRlICAqcmlfTWVyZ2VKb2luQ29uZGl0aW9uOwogCisJ LyogRk9SIFBPUlRJT04gT0YgZXZhbHVhdGlvbiBzdGF0ZSAqLworCUZvclBvcnRpb25PZlN0YXRl ICpyaV9mb3JQb3J0aW9uT2Y7CisKIAkvKiBwYXJ0aXRpb24gY2hlY2sgZXhwcmVzc2lvbiBzdGF0 ZSAoTlVMTCBpZiBub3Qgc2V0IHVwIHlldCkgKi8KIAlFeHByU3RhdGUgICpyaV9QYXJ0aXRpb25D aGVja0V4cHI7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBi L3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCBlY2JkZGQxMmUxYi4uYTA5ZTlk OWJhNmEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysgYi9z cmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTE0Nyw2ICsxNDcsOSBAQCB0eXBlZGVm IHN0cnVjdCBRdWVyeQogCSAqLwogCWludAkJCXJlc3VsdFJlbGF0aW9uIHBnX25vZGVfYXR0cihx dWVyeV9qdW1ibGVfaWdub3JlKTsKIAorCS8qIEZPUiBQT1JUSU9OIE9GIGNsYXVzZSBmb3IgVVBE QVRFL0RFTEVURSAqLworCUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZjsKKwogCS8qIGhh cyBhZ2dyZWdhdGVzIGluIHRsaXN0IG9yIGhhdmluZ1F1YWwgKi8KIAlib29sCQloYXNBZ2dzIHBn X25vZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIAkvKiBoYXMgd2luZG93IGZ1bmN0aW9u cyBpbiB0bGlzdCAqLwpAQCAtMTYxMyw2ICsxNjE2LDIxIEBAIHR5cGVkZWYgc3RydWN0IFJvd01h cmtDbGF1c2UKIAlib29sCQlwdXNoZWREb3duOwkJLyogcHVzaGVkIGRvd24gZnJvbSBoaWdoZXIg cXVlcnkgbGV2ZWw/ICovCiB9IFJvd01hcmtDbGF1c2U7CiAKKy8qCisgKiBGb3JQb3J0aW9uT2ZD bGF1c2UKKyAqCQlyZXByZXNlbnRhdGlvbiBvZiBGT1IgUE9SVElPTiBPRiA8cGVyaW9kLW5hbWU+ IEZST00gPHRzPiBUTyA8dGU+CisgKgkJb3IgRk9SIFBPUlRJT04gT0YgPHBlcmlvZC1uYW1lPiAo PHRhcmdldD4pCisgKi8KK3R5cGVkZWYgc3RydWN0IEZvclBvcnRpb25PZkNsYXVzZQoreworCU5v ZGVUYWcJCXR5cGU7CisJY2hhcgkgICAqcmFuZ2VfbmFtZTsKKwlpbnQJCQlsb2NhdGlvbjsKKwlO b2RlCSAgICp0YXJnZXQ7CisJTm9kZQkgICAqdGFyZ2V0X3N0YXJ0OworCU5vZGUJICAgKnRhcmdl dF9lbmQ7Cit9IEZvclBvcnRpb25PZkNsYXVzZTsKKwogLyoKICAqIFdpdGhDbGF1c2UgLQogICoJ ICAgcmVwcmVzZW50YXRpb24gb2YgV0lUSCBjbGF1c2UKQEAgLTIxMjYsNiArMjE0NCw3IEBAIHR5 cGVkZWYgc3RydWN0IERlbGV0ZVN0bXQKIAlOb2RlCSAgICp3aGVyZUNsYXVzZTsJLyogcXVhbGlm aWNhdGlvbnMgKi8KIAlSZXR1cm5pbmdDbGF1c2UgKnJldHVybmluZ0NsYXVzZTsJLyogUkVUVVJO SU5HIGNsYXVzZSAqLwogCVdpdGhDbGF1c2UgKndpdGhDbGF1c2U7CQkvKiBXSVRIIGNsYXVzZSAq LworCUZvclBvcnRpb25PZkNsYXVzZSAqZm9yUG9ydGlvbk9mOwkvKiBGT1IgUE9SVElPTiBPRiBj bGF1c2UgKi8KIH0gRGVsZXRlU3RtdDsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAt MjE0MSw2ICsyMTYwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVXBkYXRlU3RtdAogCUxpc3QJICAgKmZy b21DbGF1c2U7CQkvKiBvcHRpb25hbCBmcm9tIGNsYXVzZSBmb3IgbW9yZSB0YWJsZXMgKi8KIAlS ZXR1cm5pbmdDbGF1c2UgKnJldHVybmluZ0NsYXVzZTsJLyogUkVUVVJOSU5HIGNsYXVzZSAqLwog CVdpdGhDbGF1c2UgKndpdGhDbGF1c2U7CQkvKiBXSVRIIGNsYXVzZSAqLworCUZvclBvcnRpb25P ZkNsYXVzZSAqZm9yUG9ydGlvbk9mOwkvKiBGT1IgUE9SVElPTiBPRiBjbGF1c2UgKi8KIH0gVXBk YXRlU3RtdDsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApp bmRleCAzMGQ4ODliNTRjNS4uZWJhNjk3MjU3ZjIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25v ZGVzL3BhdGhub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCkBAIC0y NjEyLDYgKzI2MTIsNyBAQCB0eXBlZGVmIHN0cnVjdCBNb2RpZnlUYWJsZVBhdGgKIAlMaXN0CSAg ICpyZXR1cm5pbmdMaXN0czsgLyogcGVyLXRhcmdldC10YWJsZSBSRVRVUk5JTkcgdGxpc3RzICov CiAJTGlzdAkgICAqcm93TWFya3M7CQkvKiBQbGFuUm93TWFya3MgKG5vbi1sb2NraW5nIG9ubHkp ICovCiAJT25Db25mbGljdEV4cHIgKm9uY29uZmxpY3Q7IC8qIE9OIENPTkZMSUNUIGNsYXVzZSwg b3IgTlVMTCAqLworCUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZjsgLyogRk9SIFBPUlRJ T04gT0YgY2xhdXNlIGZvciBVUERBVEUvREVMRVRFICovCiAJaW50CQkJZXBxUGFyYW07CQkvKiBJ RCBvZiBQYXJhbSBmb3IgRXZhbFBsYW5RdWFsIHJlLWV2YWwgKi8KIAlMaXN0CSAgICptZXJnZUFj dGlvbkxpc3RzOwkvKiBwZXItdGFyZ2V0LXRhYmxlIGxpc3RzIG9mIGFjdGlvbnMgZm9yCiAJCQkJ CQkJCQkgKiBNRVJHRSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGxhbm5vZGVz LmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaAppbmRleCA3Y2RkMmI1MWM5NC4uZjgz YzBjY2M5NDggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oCisrKyBi L3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oCkBAIC0zNjgsNiArMzY4LDggQEAgdHlwZWRl ZiBzdHJ1Y3QgTW9kaWZ5VGFibGUKIAlMaXN0CSAgICpvbkNvbmZsaWN0Q29sczsKIAkvKiBXSEVS RSBmb3IgT04gQ09ORkxJQ1QgVVBEQVRFICovCiAJTm9kZQkgICAqb25Db25mbGljdFdoZXJlOwor CS8qIEZPUiBQT1JUSU9OIE9GIGNsYXVzZSBmb3IgVVBEQVRFL0RFTEVURSAqLworCU5vZGUJICAg KmZvclBvcnRpb25PZjsKIAkvKiBSVEkgb2YgdGhlIEVYQ0xVREVEIHBzZXVkbyByZWxhdGlvbiAq LwogCUluZGV4CQlleGNsUmVsUlRJOwogCS8qIHRsaXN0IG9mIHRoZSBFWENMVURFRCBwc2V1ZG8g cmVsYXRpb24gKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oIGIv c3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgKaW5kZXggMWI0NDM2ZjJmZjYuLmZiYmNkNzdk ZDg0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAorKysgYi9zcmMv aW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaApAQCAtMjM4NSw0ICsyMzg1LDMxIEBAIHR5cGVkZWYg c3RydWN0IE9uQ29uZmxpY3RFeHByCiAJTGlzdAkgICAqZXhjbFJlbFRsaXN0OwkvKiB0bGlzdCBv ZiB0aGUgRVhDTFVERUQgcHNldWRvIHJlbGF0aW9uICovCiB9IE9uQ29uZmxpY3RFeHByOwogCisv Ki0tLS0tLS0tLS0KKyAqIEZvclBvcnRpb25PZkV4cHIgLSByZXByZXNlbnRzIGEgRk9SIFBPUlRJ T04gT0YgLi4uIGV4cHJlc3Npb24KKyAqCisgKiBXZSBzZXQgdXAgYW4gZXhwcmVzc2lvbiB0byBt YWtlIGEgcmFuZ2UgZnJvbSB0aGUgRlJPTS9UTyBib3VuZHMsCisgKiBzbyB0aGF0IHdlIGNhbiB1 c2UgcmFuZ2Ugb3BlcmF0b3JzIHdpdGggaXQuCisgKgorICogVGhlbiB3ZSBzZXQgdXAgYW4gb3Zl cmxhcHMgZXhwcmVzc2lvbiBiZXR3ZWVuIHRoYXQgYW5kIHRoZSByYW5nZSBjb2x1bW4sCisgKiBz byB0aGF0IHdlIGNhbiBmaW5kIHRoZSByb3dzIHdlIG5lZWQgdG8gdXBkYXRlL2RlbGV0ZS4KKyAq CisgKiBJbiB0aGUgZXhlY3V0b3Igd2UnbGwgYWxzbyBidWlsZCBhbiBpbnRlcnNlY3QgZXhwcmVz c2lvbiBiZXR3ZWVuIHRoZQorICogdGFyZ2V0ZWQgcmFuZ2UgYW5kIHRoZSByYW5nZSBjb2x1bW4s IHNvIHRoYXQgd2UgY2FuIHVwZGF0ZSB0aGUgc3RhcnQvZW5kCisgKiBib3VuZHMgb2YgdGhlIFVQ REFURSdkIHJlY29yZC4KKyAqLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBGb3JQb3J0 aW9uT2ZFeHByCit7CisJTm9kZVRhZwkJdHlwZTsKKwlWYXIJCSAgICpyYW5nZVZhcjsJCS8qIFJh bmdlIGNvbHVtbiAqLworCWNoYXIJICAgKnJhbmdlX25hbWU7CQkvKiBSYW5nZSBuYW1lICovCisJ Tm9kZQkgICAqdGFyZ2V0UmFuZ2U7CS8qIEZPUiBQT1JUSU9OIE9GIGJvdW5kcyBhcyBhIHJhbmdl ICovCisJT2lkCQkJcmFuZ2VUeXBlOwkJLyogdHlwZSBvZiB0YXJnZXRSYW5nZSAqLworCU5vZGUJ ICAgKm92ZXJsYXBzRXhwcjsJLyogcmFuZ2UgJiYgdGFyZ2V0UmFuZ2UgKi8KKwlMaXN0CSAgICpy YW5nZVRhcmdldExpc3Q7CS8qIExpc3Qgb2YgVGFyZ2V0RW50cnlzIHRvIHNldCB0aGUgdGltZQor CQkJCQkJCQkJICogY29sdW1uKHMpICovCisJT2lkCQkJd2l0aG91dFBvcnRpb25Qcm9jOyAvKiBT UkYgcHJvYyBmb3Igb2xkX3JhbmdlIC0gdGFyZ2V0X3JhbmdlICovCit9IEZvclBvcnRpb25PZkV4 cHI7CisKICNlbmRpZgkJCQkJCQkvKiBQUklNTk9ERVNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvb3B0aW1pemVyL3BhdGhub2RlLmggYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGF0aG5v ZGUuaAppbmRleCA5NTVlOTA1Njg1OC4uYWMwZjY5MTc0M2YgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL29wdGltaXplci9wYXRobm9kZS5oCisrKyBiL3NyYy9pbmNsdWRlL29wdGltaXplci9wYXRo bm9kZS5oCkBAIC0yODYsNyArMjg2LDcgQEAgZXh0ZXJuIE1vZGlmeVRhYmxlUGF0aCAqY3JlYXRl X21vZGlmeXRhYmxlX3BhdGgoUGxhbm5lckluZm8gKnJvb3QsCiAJCQkJCQkJCQkJCQlMaXN0ICp3 aXRoQ2hlY2tPcHRpb25MaXN0cywgTGlzdCAqcmV0dXJuaW5nTGlzdHMsCiAJCQkJCQkJCQkJCQlM aXN0ICpyb3dNYXJrcywgT25Db25mbGljdEV4cHIgKm9uY29uZmxpY3QsCiAJCQkJCQkJCQkJCQlM aXN0ICptZXJnZUFjdGlvbkxpc3RzLCBMaXN0ICptZXJnZUpvaW5Db25kaXRpb25zLAotCQkJCQkJ CQkJCQkJaW50IGVwcVBhcmFtKTsKKwkJCQkJCQkJCQkJCUZvclBvcnRpb25PZkV4cHIgKmZvclBv cnRpb25PZiwgaW50IGVwcVBhcmFtKTsKIGV4dGVybiBMaW1pdFBhdGggKmNyZWF0ZV9saW1pdF9w YXRoKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwsCiAJCQkJCQkJCQlQYXRoICpz dWJwYXRoLAogCQkJCQkJCQkJTm9kZSAqbGltaXRPZmZzZXQsIE5vZGUgKmxpbWl0Q291bnQsCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIvYW5hbHl6ZS5oIGIvc3JjL2luY2x1ZGUvcGFy c2VyL2FuYWx5emUuaAppbmRleCBmMjllZDAzYjQ3Ni4uNDYxNGJlMDUyZGMgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL3BhcnNlci9hbmFseXplLmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2Fu YWx5emUuaApAQCAtNDMsNyArNDMsOCBAQCBleHRlcm4gTGlzdCAqdHJhbnNmb3JtSW5zZXJ0Um93 KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqZXhwcmxpc3QsCiAJCQkJCQkJCUxpc3QgKnN0bXRj b2xzLCBMaXN0ICppY29sdW1ucywgTGlzdCAqYXR0cm5vcywKIAkJCQkJCQkJYm9vbCBzdHJpcF9p bmRpcmVjdGlvbik7CiBleHRlcm4gTGlzdCAqdHJhbnNmb3JtVXBkYXRlVGFyZ2V0TGlzdChQYXJz ZVN0YXRlICpwc3RhdGUsCi0JCQkJCQkJCQkgICBMaXN0ICpvcmlnVGxpc3QpOworCQkJCQkJCQkJ ICAgTGlzdCAqb3JpZ1RsaXN0LAorCQkJCQkJCQkJICAgRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9y dGlvbk9mKTsKIGV4dGVybiB2b2lkIHRyYW5zZm9ybVJldHVybmluZ0NsYXVzZShQYXJzZVN0YXRl ICpwc3RhdGUsIFF1ZXJ5ICpxcnksCiAJCQkJCQkJCQkgUmV0dXJuaW5nQ2xhdXNlICpyZXR1cm5p bmdDbGF1c2UsCiAJCQkJCQkJCQkgUGFyc2VFeHByS2luZCBleHByS2luZCk7CmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0 LmgKaW5kZXggODQxODJlYWFhZTIuLmE4ZGVmM2EzODZjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9wYXJzZXIva3dsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCkBAIC0z NDYsNiArMzQ2LDcgQEAgUEdfS0VZV09SRCgicGxhY2luZyIsIFBMQUNJTkcsIFJFU0VSVkVEX0tF WVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwbGFuIiwgUExBTiwgVU5SRVNFUlZFRF9L RVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGxhbnMiLCBQTEFOUywgVU5SRVNFUlZF RF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicG9saWN5IiwgUE9MSUNZLCBVTlJF U0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCitQR19LRVlXT1JEKCJwb3J0aW9uIiwgUE9SVElP TiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicG9zaXRpb24i LCBQT1NJVElPTiwgQ09MX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBy ZWNlZGluZyIsIFBSRUNFRElORywgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdf S0VZV09SRCgicHJlY2lzaW9uIiwgUFJFQ0lTSU9OLCBDT0xfTkFNRV9LRVlXT1JELCBBU19MQUJF TCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmggYi9zcmMvaW5j bHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCmluZGV4IGY3ZDA3Yzg0NTQyLi4zZTQ1N2Q5NjFmZSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAorKysgYi9zcmMvaW5j bHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCkBAIC01Niw2ICs1Niw3IEBAIHR5cGVkZWYgZW51bSBQ YXJzZUV4cHJLaW5kCiAJRVhQUl9LSU5EX1VQREFURV9TT1VSQ0UsCS8qIFVQREFURSBhc3NpZ25t ZW50IHNvdXJjZSBpdGVtICovCiAJRVhQUl9LSU5EX1VQREFURV9UQVJHRVQsCS8qIFVQREFURSBh c3NpZ25tZW50IHRhcmdldCBpdGVtICovCiAJRVhQUl9LSU5EX01FUkdFX1dIRU4sCQkvKiBNRVJH RSBXSEVOIFtOT1RdIE1BVENIRUQgY29uZGl0aW9uICovCisJRVhQUl9LSU5EX1VQREFURV9QT1JU SU9OLAkvKiBVUERBVEUgRk9SIFBPUlRJT04gT0YgaXRlbSAqLwogCUVYUFJfS0lORF9HUk9VUF9C WSwJCQkvKiBHUk9VUCBCWSAqLwogCUVYUFJfS0lORF9PUkRFUl9CWSwJCQkvKiBPUkRFUiBCWSAq LwogCUVYUFJfS0lORF9ESVNUSU5DVF9PTiwJCS8qIERJU1RJTkNUIE9OICovCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS91dGlscy9sc3lzY2FjaGUuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNj YWNoZS5oCmluZGV4IDUwZmIxNDllOWFjLi41YjUwZWYyMzBhYiAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvdXRpbHMvbHN5c2NhY2hlLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvbHN5c2NhY2hl LmgKQEAgLTE1MCw2ICsxNTAsNyBAQCBleHRlcm4gT2lkCWdldF9yZWxfcmVsYW0oT2lkIHJlbGlk KTsKIGV4dGVybiBPaWQJZ2V0X3RyYW5zZm9ybV9mcm9tc3FsKE9pZCB0eXBpZCwgT2lkIGxhbmdp ZCwgTGlzdCAqdHJmdHlwZXMpOwogZXh0ZXJuIE9pZAlnZXRfdHJhbnNmb3JtX3Rvc3FsKE9pZCB0 eXBpZCwgT2lkIGxhbmdpZCwgTGlzdCAqdHJmdHlwZXMpOwogZXh0ZXJuIGJvb2wgZ2V0X3R5cGlz ZGVmaW5lZChPaWQgdHlwaWQpOworZXh0ZXJuIGJvb2wgZ2V0X3R5cG5hbWVfYW5kX25hbWVzcGFj ZShPaWQgdHlwaWQsIGNoYXIgKip0eXBuYW1lLCBjaGFyICoqdHlwbmFtZXNwYWNlKTsKIGV4dGVy biBpbnQxNiBnZXRfdHlwbGVuKE9pZCB0eXBpZCk7CiBleHRlcm4gYm9vbCBnZXRfdHlwYnl2YWwo T2lkIHR5cGlkKTsKIGV4dGVybiB2b2lkIGdldF90eXBsZW5ieXZhbChPaWQgdHlwaWQsIGludDE2 ICp0eXBsZW4sIGJvb2wgKnR5cGJ5dmFsKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9m b3JfcG9ydGlvbl9vZi5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjkyODhiNDIyNGY3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9mb3JfcG9ydGlvbl9vZi5vdXQKQEAgLTAsMCArMSwxMjQ4IEBACistLSBUZXN0cyBmb3IgVVBE QVRFL0RFTEVURSBGT1IgUE9SVElPTiBPRgorU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsKKy0t IFdvcmtzIG9uIG5vbi1QSyBjb2x1bW5zCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVz dCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQg Tk9UIE5VTEwKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRf YXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAyLDIwMjAtMDEtMDEpJywg J29uZScpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCisgIFNFVCBuYW1lID0gJ29u ZV4xJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0xNScgVE8gJzIwMTktMDEtMjAnOworLS0gV2l0aCBhIHRh YmxlIGFsaWFzIHdpdGggQVMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDItMDEnIFRPICcyMDE5LTAyLTAzJyBBUyB0Cisg IFNFVCBuYW1lID0gJ29uZV4yJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wMycgVE8gJzIwMTktMDItMDQn IEFTIHQ7CistLSBXaXRoIGEgdGFibGUgYWxpYXMgd2l0aG91dCBBUworVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wNCcg VE8gJzIwMTktMDItMDUnIHQKKyAgU0VUIG5hbWUgPSAnb25lXjMnOworREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAy LTA1JyBUTyAnMjAxOS0wMi0wNicgdDsKKy0tIFVQREFURSB3aXRoIEZST00KK1VQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDMt MDEnIHRvICcyMDE5LTAzLTAyJworICBTRVQgbmFtZSA9ICdvbmVeNCcKKyAgRlJPTSAoU0VMRUNU ICdbMSwyKSc6OmludDRyYW5nZSkgQVMgdDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9uX29mX3Rl c3QuaWQgPSB0Mi5pZDsKKy0tIERFTEVURSB3aXRoIFVTSU5HCitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDMtMDIn IFRPICcyMDE5LTAzLTAzJworICBVU0lORyAoU0VMRUNUICdbMSwyKSc6OmludDRyYW5nZSkgQVMg dDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9uX29mX3Rlc3QuaWQgPSB0Mi5pZDsKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAg fCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEtMTUpIHwg b25lCisgWzEsMikgfCBbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKSB8IG9uZV4xCisgWzEsMikgfCBb MjAxOS0wMS0wMSwyMDE5LTAxLTE1KSB8IG9uZQorIFsxLDIpIHwgWzIwMTktMDEtMjAsMjAxOS0w Mi0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE5LTAyLTAxLDIwMTktMDItMDMpIHwgb25lXjIKKyBb MSwyKSB8IFsyMDE5LTAyLTA0LDIwMTktMDItMDUpIHwgb25lXjMKKyBbMSwyKSB8IFsyMDE5LTAy LTA2LDIwMTktMDMtMDEpIHwgb25lCisgWzEsMikgfCBbMjAxOS0wMy0wMSwyMDE5LTAzLTAyKSB8 IG9uZV40CisgWzEsMikgfCBbMjAxOS0wMy0wMywyMDIwLTAxLTAxKSB8IG9uZQorKDkgcm93cykK KworLS0gV29ya3Mgb24gbW9yZSB0aGFuIG9uZSByYW5nZQorRFJPUCBUQUJMRSBmb3JfcG9ydGlv bl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkMV9hdCBkYXRlcmFuZ2UsCisgIHZhbGlkMl9hdCBkYXRlcmFuZ2UsCisg IG5hbWUgdGV4dCBOT1QgTlVMTAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3Qg KGlkLCB2YWxpZDFfYXQsIHZhbGlkMl9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIw MTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSknLCAnb25lJyk7 CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZDFfYXQg RlJPTSAnMjAxOC0wMS0xNScgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdmb28nOworICBTRUxFQ1Qg KiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkMV9hdCwgdmFsaWQy X2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkMV9hdCAgICAgICAgfCAgICAgICAgdmFsaWQyX2F0 ICAgICAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEt MTUpIHwgWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTE1 LDIwMTgtMDItMDMpIHwgWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSkgfCBmb28KKygyIHJvd3MpCisK K1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkMl9hdCBG Uk9NICcyMDE4LTAxLTE1JyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2Jhcic7CisgIFNFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJf YXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWQxX2F0ICAgICAgICB8ICAgICAgICB2YWxpZDJfYXQg ICAgICAgIHwgbmFtZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQorIFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMS0x NSkgfCBbMjAxNS0wMS0wMSwyMDE4LTAxLTE1KSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDEtMDIs MjAxOC0wMS0xNSkgfCBbMjAxOC0wMS0xNSwyMDI1LTAxLTAxKSB8IGJhcgorIFsxLDIpIHwgWzIw MTgtMDEtMTUsMjAxOC0wMi0wMykgfCBbMjAxNS0wMS0wMSwyMDE4LTAxLTE1KSB8IGZvbworIFsx LDIpIHwgWzIwMTgtMDEtMTUsMjAxOC0wMi0wMykgfCBbMjAxOC0wMS0xNSwyMDI1LTAxLTAxKSB8 IGJhcgorKDQgcm93cykKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZDFfYXQgRlJPTSAnMjAxOC0wMS0yMCcgVE8gTlVMTDsKKyAgU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFfYXQsIHZhbGlk Ml9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZDFfYXQgICAgICAgIHwgICAgICAgIHZhbGlkMl9h dCAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4LTAx LTE1KSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMS0w MiwyMDE4LTAxLTE1KSB8IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEpIHwgYmFyCisgWzEsMikgfCBb MjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgZm9vCisg WzEsMikgfCBbMjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEp IHwgYmFyCisoNCByb3dzKQorCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkMl9hdCBGUk9NICcyMDE4LTAxLTIwJyBUTyBOVUxMOworICBTRUxF Q1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkMV9hdCwgdmFs aWQyX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkMV9hdCAgICAgICAgfCAgICAgICAgdmFsaWQy X2F0ICAgICAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgt MDEtMTUpIHwgWzIwMTUtMDEtMDEsMjAxOC0wMS0xNSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAx LTAyLDIwMTgtMDEtMTUpIHwgWzIwMTgtMDEtMTUsMjAxOC0wMS0yMCkgfCBiYXIKKyBbMSwyKSB8 IFsyMDE4LTAxLTE1LDIwMTgtMDEtMjApIHwgWzIwMTUtMDEtMDEsMjAxOC0wMS0xNSkgfCBmb28K KyBbMSwyKSB8IFsyMDE4LTAxLTE1LDIwMTgtMDEtMjApIHwgWzIwMTgtMDEtMTUsMjAxOC0wMS0y MCkgfCBiYXIKKyg0IHJvd3MpCisKKy0tIFRlc3Qgd2l0aCBOVUxMcyBpbiB0aGUgc2NhbGFyL3Jh bmdlIGtleSBjb2x1bW5zLgorLS0gVGhpcyB3b24ndCBoYXBwZW4gaWYgdGhlcmUgaXMgYSBQUklN QVJZIEtFWSBvciBVTklRVUUgY29uc3RyYWludAorLS0gYnV0IEZPUiBQT1JUSU9OIE9GIHNob3Vs ZG4ndCByZXF1aXJlIHRoYXQuCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVB VEUgVU5MT0dHRUQgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwK KyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3Jf cG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywg TlVMTCwgJzEgbnVsbCcpLAorICAoJ1sxLDIpJywgJygsKScsICcxIHVuYm91bmRlZCcpLAorICAo J1sxLDIpJywgJ2VtcHR5JywgJzEgZW1wdHknKSwKKyAgKE5VTEwsIE5VTEwsIE5VTEwpLAorICAo TlVMTCwgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTktMDEtMDEnKSwgJ251bGwga2V5Jyk7 CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NIE5VTEwgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdOVUxMIHRvIE5VTEwnOworU0VMRUNUICog RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgICAgIG5hbWUgICAgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCisgWzEsMikgfCBlbXB0eSAgICAgICAg ICAgICAgICAgICB8IDEgZW1wdHkKKyBbMSwyKSB8ICgsKSAgICAgICAgICAgICAgICAgICAgIHwg TlVMTCB0byBOVUxMCisgWzEsMikgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IDEgbnVsbAor ICAgICAgIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBOVUxMIHRvIE5VTEwKKyAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisoNSByb3dzKQorCitEUk9QIFRBQkxFIGZvcl9w b3J0aW9uX29mX3Rlc3Q7CistLQorLS0gVVBEQVRFIHRlc3RzCistLQorQ1JFQVRFIFRBQkxFIGZv cl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2UgTk9UIE5VTEwsCisgIHZhbGlkX2F0 IGRhdGVyYW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMLAorICBDT05TVFJBSU5U IGZvcl9wb3J0aW9uX29mX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQs IG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJywgJ29u ZScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAyLTAzLDIwMTgtMDMtMDMpJywgJ29uZScpLAorICAo J1sxLDIpJywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJywgJ29uZScpLAorICAoJ1syLDMpJywg J1syMDE4LTAxLTAxLDIwMTgtMDEtMDUpJywgJ3R3bycpLAorICAoJ1szLDQpJywgJ1syMDE4LTAx LTAxLCknLCAndGhyZWUnKSwKKyAgKCdbNCw1KScsICcoLDIwMTgtMDQtMDEpJywgJ2ZvdXInKSwK KyAgKCdbNSw2KScsICcoLCknLCAnZml2ZScpCisgIDsKK1xzZXQgUVVJRVQgZmFsc2UKKy0tIFVw ZGF0aW5nIHdpdGggYSBtaXNzaW5nIGNvbHVtbiBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgaW52YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyBO VUxMCisgIFNFVCBuYW1lID0gJ2ZvbycKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICBj b2x1bW4gb3IgcGVyaW9kICJpbnZhbGlkX2F0IiBvZiByZWxhdGlvbiAiZm9yX3BvcnRpb25fb2Zf dGVzdCIgZG9lcyBub3QgZXhpc3QKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiBpbnZhbGlkX2F0 IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgICAgICAgICAgICAgICAgICAgICAgICBeCist LSBVcGRhdGluZyB0aGUgcmFuZ2UgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgU0VU IHZhbGlkX2F0ID0gJ1sxOTkwLTAxLTAxLDE5OTktMDEtMDEpJworICBXSEVSRSBpZCA9ICdbNSw2 KSc7CitFUlJPUjogIGNhbid0IGRpcmVjdGx5IGFzc2lnbiB0byAidmFsaWRfYXQiIGluIGEgRk9S IFBPUlRJT04gT0YgdXBkYXRlCitMSU5FIDM6ICAgU0VUIHZhbGlkX2F0ID0gJ1sxOTkwLTAxLTAx LDE5OTktMDEtMDEpJworICAgICAgICAgICAgICBeCistLSBUaGUgd3JvbmcgdHlwZSBmYWlscwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAxIFRPIDQKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJS T1I6ICBmdW5jdGlvbiBwZ19jYXRhbG9nLmRhdGVyYW5nZShpbnRlZ2VyLCBpbnRlZ2VyKSBkb2Vz IG5vdCBleGlzdAorTElORSAyOiAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gMSBUTyA0 CisgICAgICAgICAgICAgICAgICAgICAgICAgXgorREVUQUlMOiAgTm8gZnVuY3Rpb24gb2YgdGhh dCBuYW1lIGFjY2VwdHMgdGhlIGdpdmVuIGFyZ3VtZW50IHR5cGVzLgorSElOVDogIFlvdSBtaWdo dCBuZWVkIHRvIGFkZCBleHBsaWNpdCB0eXBlIGNhc3RzLgorLS0gVXBkYXRpbmcgd2l0aCB0aW1l c3RhbXBzIHJldmVyc2VkIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyAnMjAxOC0wMS0wMScKKyAg U0VUIG5hbWUgPSAndGhyZWVeMScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJST1I6ICByYW5n ZSBsb3dlciBib3VuZCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byByYW5nZSB1cHBlciBi b3VuZAorLS0gVXBkYXRpbmcgd2l0aCBhIHN1YnF1ZXJ5IGZhaWxzCitVUERBVEUgZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxFQ1QgJzIwMTgt MDEtMDEnKSBUTyAnMjAxOC0wNi0wMScKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hFUkUgaWQg PSAnWzMsNCknOworRVJST1I6ICBjYW5ub3QgdXNlIHN1YnF1ZXJ5IGluIEZPUiBQT1JUSU9OIE9G IGV4cHJlc3Npb24KK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxF Q1QgJzIwMTgtMDEtMDEnKSBUTyAnMjAxLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCistLSBVcGRhdGluZyB3aXRoIGEgY29sdW1uIGZhaWxzCitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIGxvd2VyKHZh bGlkX2F0KSBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ25vcGUnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKK0VSUk9SOiAgY2Fubm90IHVzZSBjb2x1bW4gcmVmZXJlbmNlIGluIEZPUiBQT1JUSU9OIE9G IGV4cHJlc3Npb24KK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIGxvd2Vy KHZhbGlkX2F0KSBUTyBOVUxMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCistLSBVcGRhdGluZyB3aXRoIHRpbWVzdGFtcHMgZXF1YWwgZG9lcyBub3RoaW5n CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE4LTA0LTAxJyBUTyAnMjAxOC0wNC0wMScKKyAgU0VUIG5hbWUgPSAndGhyZWVeMCcK KyAgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIDAKKy0tIFVwZGF0aW5nIGEgZmluaXRlL29w ZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyBO VUxMCisgIFNFVCBuYW1lID0gJ3RocmVlXjEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK1VQREFU RSAyCistLSBVcGRhdGluZyBhIGZpbml0ZS9vcGVuIHBvcnRpb24gd2l0aCBhbiBvcGVuL2Zpbml0 ZSB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMy0wMScKKyAgU0VUIG5hbWUgPSAndGhyZWVeMicK KyAgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIDIKKy0tIFVwZGF0aW5nIGFuIG9wZW4vZmlu aXRlIHBvcnRpb24gd2l0aCBhbiBvcGVuL2Zpbml0ZSB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0w Mi0wMScKKyAgU0VUIG5hbWUgPSAnZm91cl4xJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CitVUERB VEUgMgorLS0gVXBkYXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRoIGEgZmluaXRlL29w ZW4gdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE3LTAxLTAxJyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2ZvdXJeMicK KyAgV0hFUkUgaWQgPSAnWzQsNSknOworVVBEQVRFIDMKKy0tIFVwZGF0aW5nIGEgZmluaXRlL2Zp bml0ZSBwb3J0aW9uIHdpdGggYW4gZXhhY3QgZml0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE3LTAxLTAxJyBUTyAnMjAxOC0w Mi0wMScKKyAgU0VUIG5hbWUgPSAnZm91cl4zJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CitVUERB VEUgMQorLS0gVXBkYXRpbmcgYW4gZW5jbG9zZWQgc3BhbgorVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPIE5VTEwKKyAgU0VU IG5hbWUgPSAndHdvXjInCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1VQREFURSAxCistLSBVcGRh dGluZyBhbiBvcGVuL29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL2Zpbml0ZSB0YXJnZXQKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDEtMDEnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICdmaXZlXjEnCisgIFdI RVJFIGlkID0gJ1s1LDYpJzsKK1VQREFURSAzCistLSBVcGRhdGluZyBhbiBlbmNsb3NlZCBzcGFu IHdpdGggc2VwYXJhdGUgcHJvdHJ1ZGluZyBzcGFucworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxNy0wMS0wMScgVE8gJzIwMjAt MDEtMDEnCisgIFNFVCBuYW1lID0gJ2ZpdmVeMicKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworVVBE QVRFIDUKKy0tIFVwZGF0aW5nIG11bHRpcGxlIGVuY2xvc2VkIHNwYW5zCitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gTlVM TAorICBTRVQgbmFtZSA9ICdvbmVeMicKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFIDMK Ky0tIFVwZGF0aW5nIHdpdGggYSBkaXJlY3QgdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJhbmdlKCcyMDE4LTAzLTEwJywg JzIwMTgtMDMtMTcnKSkKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKK1VQREFURSAzCistLSBVcGRhdGluZyB0aGUgbm9uLXJhbmdlIHBhcnQgb2YgdGhlIFBLOgor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wMi0xNScgVE8gTlVMTAorICBTRVQgaWQgPSAnWzYsNyknCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKK1VQREFURSA1CistLSBVUERBVEUgd2l0aCBubyBXSEVSRSBjbGF1c2UKK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MzAtMDEtMDEnIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSBuYW1lIHx8ICcqJzsKK1VQREFURSA0CitT RUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgIG5hbWUgICAKKy0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwy MDE4LTAyLTAzKSB8IG9uZV4yCisgWzEsMikgfCBbMjAxOC0wMi0wMywyMDE4LTAyLTE1KSB8IG9u ZV4yCisgWzIsMykgfCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KSB8IHR3b14yCisgWzMsNCkgfCBb MjAxOC0wMS0wMSwyMDE4LTAzLTAxKSB8IHRocmVlXjIKKyBbMyw0KSB8IFsyMDE4LTAzLTAxLDIw MTgtMDYtMDEpIHwgdGhyZWUKKyBbMyw0KSB8IFsyMDE4LTA2LTAxLDIwMzAtMDEtMDEpIHwgdGhy ZWVeMQorIFszLDQpIHwgWzIwMzAtMDEtMDEsKSAgICAgICAgICAgfCB0aHJlZV4xKgorIFs0LDUp IHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBmb3VyXjEKKyBbNCw1KSB8IFsyMDE3LTAxLTAx LDIwMTgtMDItMDEpIHwgZm91cl4zCisgWzQsNSkgfCBbMjAxOC0wMi0wMSwyMDE4LTA0LTAxKSB8 IGZvdXJeMgorIFs1LDYpIHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBmaXZlCisgWzUsNikg fCBbMjAxNy0wMS0wMSwyMDE4LTAxLTAxKSB8IGZpdmVeMgorIFs1LDYpIHwgWzIwMTgtMDEtMDEs MjAxOS0wMS0wMSkgfCBmaXZlXjIKKyBbNSw2KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwg Zml2ZV4yCisgWzUsNikgfCBbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKSB8IGZpdmUKKyBbNSw2KSB8 IFsyMDMwLTAxLTAxLCkgICAgICAgICAgIHwgZml2ZSoKKyBbNiw3KSB8IFsyMDE4LTAyLTE1LDIw MTgtMDMtMDMpIHwgb25lXjIKKyBbNiw3KSB8IFsyMDE4LTAzLTAzLDIwMTgtMDMtMTApIHwgb25l XjIKKyBbNiw3KSB8IFsyMDE4LTAzLTEwLDIwMTgtMDMtMTcpIHwgb25lXjMKKyBbNiw3KSB8IFsy MDE4LTAzLTE3LDIwMTgtMDQtMDQpIHwgb25lXjIKKygyMCByb3dzKQorCitcc2V0IFFVSUVUIHRy dWUKKy0tIFVwZGF0aW5nIHdpdGggYSBzaGlmdC9yZWR1Y2UgY29uZmxpY3QKKy0tIChyZXF1aXJl cyBhIHRzcmFuZ2UgY29sdW1uKQorQ1JFQVRFIFVOTE9HR0VEIFRBQkxFIGZvcl9wb3J0aW9uX29m X3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCB0c3JhbmdlLAorICBuYW1lIHRl eHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBu YW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAwMC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUn KTsKKy0tIHVwZGF0ZXMgWzIwMTEtMDMtMDEgMDE6MDI6MDAsIDIwMTItMDEtMDEpIChub3RlIDIg bWludXRlcykKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdAorICAgIEZST00gJzIwMTEtMDMtMDEnOjp0aW1lc3RhbXAgKyBJTlRFUlZBTCAnMTow MjowMycgSE9VUiBUTyBNSU5VVEUKKyAgICBUTyAnMjAxMi0wMS0wMScKKyAgU0VUIG5hbWUgPSAn b25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIFRPIGlzIHVzZWQgZm9yIHRoZSBib3Vu ZCBidXQgbm90IHRoZSBJTlRFUlZBTDoKKy0tIHN5bnRheCBlcnJvcgorVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0CisgICAgRlJPTSAnMjAxMy0w My0wMSc6OnRpbWVzdGFtcCArIElOVEVSVkFMICcxOjAyOjAzJyBIT1VSCisgICAgVE8gJzIwMTQt MDEtMDEnCisgIFNFVCBuYW1lID0gJ29uZV4yJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJP UjogIHN5bnRheCBlcnJvciBhdCBvciBuZWFyICInMjAxNC0wMS0wMSciCitMSU5FIDQ6ICAgICBU TyAnMjAxNC0wMS0wMScKKyAgICAgICAgICAgICAgIF4KKy0tIGFkZGluZyBwYXJlbnMgZml4ZXMg aXQKKy0tIHVwZGF0ZXMgWzIwMTUtMDMtMDEgMDE6MDA6MDAsIDIwMTYtMDEtMDEpIChubyBtaW51 dGVzKQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0CisgICAgRlJPTSAoJzIwMTUtMDMtMDEnOjp0aW1lc3RhbXAgKyBJTlRFUlZBTCAnMTowMjow MycgSE9VUikKKyAgICBUTyAnMjAxNi0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQg ICAgICAgICAgICAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsiMjAwMC0wMS0w MSAwMDowMDowMCIsIjIwMTEtMDMtMDEgMDE6MDI6MDAiKSB8IG9uZQorIFsxLDIpIHwgWyIyMDEx LTAzLTAxIDAxOjAyOjAwIiwiMjAxMi0wMS0wMSAwMDowMDowMCIpIHwgb25lXjEKKyBbMSwyKSB8 IFsiMjAxMi0wMS0wMSAwMDowMDowMCIsIjIwMTUtMDMtMDEgMDE6MDA6MDAiKSB8IG9uZQorIFsx LDIpIHwgWyIyMDE1LTAzLTAxIDAxOjAwOjAwIiwiMjAxNi0wMS0wMSAwMDowMDowMCIpIHwgb25l XjMKKyBbMSwyKSB8IFsiMjAxNi0wMS0wMSAwMDowMDowMCIsIjIwMjAtMDEtMDEgMDA6MDA6MDAi KSB8IG9uZQorKDUgcm93cykKKworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKKy0t IFVQREFURSBGT1IgUE9SVElPTiBPRiBpbiBhIENURToKKy0tIFZpc2libGUgdG8gU0VMRUNUOgor SU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxV RVMKKyAgKCdbMTAsMTEpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ3RlbicpOworV0lU SCB1cGRhdGVfYXByIEFTICgKKyAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA0LTAxJyBUTyAnMjAxOC0wNS0wMScKKyAg ICBTRVQgbmFtZSA9ICdBcHIgMjAxOCcKKyAgICBXSEVSRSBpZCA9ICdbMTAsMTEpJworICAgIFJF VFVSTklORyBpZCwgdmFsaWRfYXQsIG5hbWUKKykKK1NFTEVDVCAqCisgIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBBUyB0LCB1cGRhdGVfYXByCisgIFdIRVJFIHQuaWQgPSB1cGRhdGVfYXByLmlk OworICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgfCAgIGlkICAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgIG5hbWUgICAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tCisgWzEwLDExKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgdGVuICB8 IFsxMCwxMSkgfCBbMjAxOC0wNC0wMSwyMDE4LTA1LTAxKSB8IEFwciAyMDE4CisoMSByb3cpCisK K1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMTAsMTEpJzsK KyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgIG5hbWUgICAKKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyBbMTAsMTEpIHwgWzIwMTgt MDQtMDEsMjAxOC0wNS0wMSkgfCBBcHIgMjAxOAorIFsxMCwxMSkgfCBbMjAxOC0wMS0wMSwyMDE4 LTA0LTAxKSB8IHRlbgorIFsxMCwxMSkgfCBbMjAxOC0wNS0wMSwyMDIwLTAxLTAxKSB8IHRlbgor KDMgcm93cykKKworLS0gTm90IHZpc2libGUgdG8gVVBEQVRFOgorLS0gVHVwbGVzIHVwZGF0ZWQv aW5zZXJ0ZWQgd2l0aGluIHRoZSBDVEUgYXJlIG5vdCB2aXNpYmxlIHRvIHRoZSBtYWluIHF1ZXJ5 IHlldCwKKy0tIGJ1dCBuZWl0aGVyIGFyZSBvbGQgdHVwbGVzIHRoZSBDVEUgY2hhbmdlZDoKK0lO U0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT CisgICgnWzExLDEyKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdlbGV2ZW4nKTsKK1dJ VEggdXBkYXRlX2FwciBBUyAoCisgIFVQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8gJzIwMTgtMDUtMDEnCisg ICAgU0VUIG5hbWUgPSAnQXByIDIwMTgnCisgICAgV0hFUkUgaWQgPSAnWzExLDEyKScKKyAgICBS RVRVUk5JTkcgaWQsIHZhbGlkX2F0LCBuYW1lCispCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA1LTAxJyBUTyAnMjAxOC0w Ni0wMScKKyAgQVMgdAorICBTRVQgbmFtZSA9ICdNYXkgMjAxOCcKKyAgRlJPTSB1cGRhdGVfYXBy IEFTIGoKKyAgV0hFUkUgdC5pZCA9IGouaWQ7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29m X3Rlc3QgV0hFUkUgaWQgPSAnWzExLDEyKSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgICBuYW1lICAgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tCisgWzExLDEyKSB8IFsyMDE4LTA0LTAxLDIwMTgtMDUtMDEpIHwgQXByIDIwMTgK KyBbMTEsMTIpIHwgWzIwMTgtMDEtMDEsMjAxOC0wNC0wMSkgfCBlbGV2ZW4KKyBbMTEsMTIpIHwg WzIwMTgtMDUtMDEsMjAyMC0wMS0wMSkgfCBlbGV2ZW4KKygzIHJvd3MpCisKK0RFTEVURSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgSU4gKCdbMTAsMTEpJywgJ1sxMSwxMiknKTsK Ky0tIFVQREFURSBGT1IgUE9SVElPTiBPRiBpbiBhIFBML3BnU1FMIGZ1bmN0aW9uCitJTlNFUlQg SU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAo J1sxMCwxMSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGVuJyk7CitDUkVBVEUgRlVO Q1RJT04gZnBvX3VwZGF0ZShfaWQgaW50NHJhbmdlLCBfdGFyZ2V0X2Zyb20gZGF0ZSwgX3Rhcmdl dF90aWwgZGF0ZSkKK1JFVFVSTlMgdm9pZCBMQU5HVUFHRSBwbHBnc3FsIEFTCiskJAorQkVHSU4K KyAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICQyIFRPICQzCisgICAgU0VUIG5hbWUgPSBjb25jYXQoX3RhcmdldF9mcm9tOjp0ZXh0 LCAnIHRvICcsIF90YXJnZXRfdGlsOjp0ZXh0KQorICAgIFdIRVJFIGlkID0gJDE7CitFTkQ7Cisk JDsKK1NFTEVDVCBmcG9fdXBkYXRlKCdbMTAsMTEpJywgJzIwMTUtMDEtMDEnLCAnMjAxOS0wMS0w MScpOworIGZwb191cGRhdGUgCistLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUICog RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworICAgaWQgICAg fCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICAgICAgICAgICBuYW1lICAgICAgICAgICAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgWzEwLDExKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgMjAxNS0wMS0wMSB0byAy MDE5LTAxLTAxCisgWzEwLDExKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgdGVuCisoMiBy b3dzKQorCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CistLQorLS0gREVMRVRFIHRl c3RzCistLQorQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFu Z2UgTk9UIE5VTEwsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0 IE5PVCBOVUxMLAorICBDT05TVFJBSU5UIGZvcl9wb3J0aW9uX29mX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlv bl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4 LTAxLTAyLDIwMTgtMDItMDMpJywgJ29uZScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAyLTAzLDIw MTgtMDMtMDMpJywgJ29uZScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQp JywgJ29uZScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDEtMDUpJywgJ3R3bycp LAorICAoJ1szLDQpJywgJ1syMDE4LTAxLTAxLCknLCAndGhyZWUnKSwKKyAgKCdbNCw1KScsICco LDIwMTgtMDQtMDEpJywgJ2ZvdXInKSwKKyAgKCdbNSw2KScsICcoLCknLCAnZml2ZScpLAorICAo J1s2LDcpJywgJ1syMDE4LTAxLTAxLCknLCAnc2l4JyksCisgICgnWzcsOCknLCAnKCwyMDE4LTA0 LTAxKScsICdzZXZlbicpLAorICAoJ1s4LDkpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJywg J2VpZ2h0JyksCisgICgnWzgsOSknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknLCAnZWlnaHQn KSwKKyAgKCdbOCw5KScsICdbMjAxOC0wMy0wMywyMDE4LTA0LTA0KScsICdlaWdodCcpCisgIDsK K1xzZXQgUVVJRVQgZmFsc2UKKy0tIERlbGV0aW5nIHdpdGggYSBtaXNzaW5nIGNvbHVtbiBmYWls cworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiBpbnZh bGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgV0hFUkUgaWQgPSAnWzUsNiknOwor RVJST1I6ICBjb2x1bW4gb3IgcGVyaW9kICJpbnZhbGlkX2F0IiBvZiByZWxhdGlvbiAiZm9yX3Bv cnRpb25fb2ZfdGVzdCIgZG9lcyBub3QgZXhpc3QKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiBp bnZhbGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgICAgICAgICAgICAgICAgICAg ICAgICBeCistLSBUaGUgd3JvbmcgdHlwZSBmYWlscworREVMRVRFIEZST00gZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIDEgVE8gNAorICBXSEVSRSBp ZCA9ICdbMyw0KSc7CitFUlJPUjogIGZ1bmN0aW9uIHBnX2NhdGFsb2cuZGF0ZXJhbmdlKGludGVn ZXIsIGludGVnZXIpIGRvZXMgbm90IGV4aXN0CitMSU5FIDI6ICAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAxIFRPIDQKKyAgICAgICAgICAgICAgICAgICAgICAgICBeCitERVRBSUw6ICBO byBmdW5jdGlvbiBvZiB0aGF0IG5hbWUgYWNjZXB0cyB0aGUgZ2l2ZW4gYXJndW1lbnQgdHlwZXMu CitISU5UOiAgWW91IG1pZ2h0IG5lZWQgdG8gYWRkIGV4cGxpY2l0IHR5cGUgY2FzdHMuCistLSBE ZWxldGluZyB3aXRoIHRpbWVzdGFtcHMgcmV2ZXJzZWQgZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0w MScgVE8gJzIwMTgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0VSUk9SOiAgcmFuZ2Ug bG93ZXIgYm91bmQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gcmFuZ2UgdXBwZXIgYm91 bmQKKy0tIERlbGV0aW5nIHdpdGggYSBzdWJxdWVyeSBmYWlscworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxFQ1QgJzIw MTgtMDEtMDEnKSBUTyAnMjAxOC0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJST1I6 ICBjYW5ub3QgdXNlIHN1YnF1ZXJ5IGluIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb24KK0xJTkUg MjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxFQ1QgJzIwMTgtMDEtMDEnKSBU TyAnMjAxLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCistLSBE ZWxldGluZyB3aXRoIGEgY29sdW1uIGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gbG93ZXIodmFsaWRfYXQpIFRPIE5V TEwKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJST1I6ICBjYW5ub3QgdXNlIGNvbHVtbiByZWZl cmVuY2UgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbgorTElORSAyOiAgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gbG93ZXIodmFsaWRfYXQpIFRPIE5VTEwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy0tIERlbGV0aW5nIHdpdGggdGltZXN0 YW1wcyBlcXVhbCBkb2VzIG5vdGhpbmcKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8gJzIwMTgtMDQt MDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSAwCistLSBEZWxldGluZyBhIGZpbml0 ZS9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9vcGVuIHRhcmdldAorREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2 LTAxJyBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSAyCistLSBEZWxldGlu ZyBhIGZpbml0ZS9vcGVuIHBvcnRpb24gd2l0aCBhbiBvcGVuL2Zpbml0ZSB0YXJnZXQKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSBOVUxMIFRPICcyMDE4LTAzLTAxJworICBXSEVSRSBpZCA9ICdbNiw3KSc7CitERUxFVEUgMgor LS0gRGVsZXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRoIGFuIG9wZW4vZmluaXRlIHRh cmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDItMDEnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsK K0RFTEVURSAyCistLSBEZWxldGluZyBhbiBvcGVuL2Zpbml0ZSBwb3J0aW9uIHdpdGggYSBmaW5p dGUvb3BlbiB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxNy0wMS0wMScgVE8gTlVMTAorICBXSEVSRSBpZCA9 ICdbNyw4KSc7CitERUxFVEUgMgorLS0gRGVsZXRpbmcgYSBmaW5pdGUvZmluaXRlIHBvcnRpb24g d2l0aCBhbiBleGFjdCBmaXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMScgVE8gJzIwMTgtMDQtMDEnCisg IFdIRVJFIGlkID0gJ1s0LDUpJzsKK0RFTEVURSAxCistLSBEZWxldGluZyBhbiBlbmNsb3NlZCBz cGFuCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK0RFTEVURSAx CistLSBEZWxldGluZyBhbiBvcGVuL29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL2Zpbml0ZSB0 YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMScgVE8gJzIwMTktMDEtMDEnCisgIFdIRVJFIGlkID0g J1s1LDYpJzsKK0RFTEVURSAzCistLSBEZWxldGluZyBhbiBlbmNsb3NlZCBzcGFuIHdpdGggc2Vw YXJhdGUgcHJvdHJ1ZGluZyBzcGFucworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAyLTAzJyBUTyAnMjAxOC0wMy0w MycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworREVMRVRFIDEKKy0tIERlbGV0aW5nIG11bHRpcGxl IGVuY2xvc2VkIHNwYW5zCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1s4LDkp JzsKK0RFTEVURSAzCistLSBEZWxldGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldAorREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJh bmdlKCcyMDE4LTAzLTEwJywgJzIwMTgtMDMtMTcnKSkKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor REVMRVRFIDMKKy0tIERFTEVURSB3aXRoIG5vIFdIRVJFIGNsYXVzZQorREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDMwLTAx LTAxJyBUTyBOVUxMOworREVMRVRFIDQKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVz dCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBb MSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMy0w MywyMDE4LTAzLTEwKSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDMtMTcsMjAxOC0wNC0wNCkgfCBv bmUKKyBbMyw0KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDYtMDEpIHwgdGhyZWUKKyBbNSw2KSB8ICgs MjAxOC0wMS0wMSkgICAgICAgICAgIHwgZml2ZQorIFs1LDYpIHwgWzIwMTktMDEtMDEsMjAzMC0w MS0wMSkgfCBmaXZlCisgWzYsNykgfCBbMjAxOC0wMy0wMSwyMDMwLTAxLTAxKSB8IHNpeAorIFs3 LDgpIHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBzZXZlbgorKDggcm93cykKKworXHNldCBR VUlFVCB0cnVlCistLSBVUERBVEUgLi4uIFJFVFVSTklORyByZXR1cm5zIG9ubHkgdGhlIHVwZGF0 ZWQgdmFsdWVzIChub3QgdGhlIGluc2VydGVkIHNpZGUgdmFsdWVzKQorVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMScg VE8gJzIwMTgtMDItMTUnCisgIFNFVCBuYW1lID0gJ3RocmVlXjMnCisgIFdIRVJFIGlkID0gJ1sz LDQpJworICBSRVRVUk5JTkcgKjsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg IG5hbWUgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBb Myw0KSB8IFsyMDE4LTAyLTAxLDIwMTgtMDItMTUpIHwgdGhyZWVeMworKDEgcm93KQorCistLSBE RUxFVEUgLi4uIFJFVFVSTklORyByZXR1cm5zIHRoZSBkZWxldGVkIHZhbHVlcyAocmVnYXJkbGVz cyBvZiBib3VuZHMpCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMDInIFRPICcyMDE4LTAyLTAzJworICBXSEVS RSBpZCA9ICdbMyw0KScKKyAgUkVUVVJOSU5HICo7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8ICBuYW1lICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMi0wMSwyMDE4LTAyLTE1KSB8IHRocmVlXjMKKygxIHJv dykKKworLS0gREVMRVRFIEZPUiBQT1JUSU9OIE9GIGluIGEgUEwvcGdTUUwgZnVuY3Rpb24KK0lO U0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT CisgICgnWzEwLDExKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICd0ZW4nKTsKK0NSRUFU RSBGVU5DVElPTiBmcG9fZGVsZXRlKF9pZCBpbnQ0cmFuZ2UsIF90YXJnZXRfZnJvbSBkYXRlLCBf dGFyZ2V0X3RpbCBkYXRlKQorUkVUVVJOUyB2b2lkIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitC RUdJTgorICBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAkMiBUTyAkMworICAgIFdIRVJFIGlkID0gJDE7CitFTkQ7CiskJDsK K1NFTEVDVCBmcG9fZGVsZXRlKCdbMTAsMTEpJywgJzIwMTUtMDEtMDEnLCAnMjAxOS0wMS0wMScp OworIGZwb19kZWxldGUgCistLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUICogRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworICAgaWQgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0KKyBbMTAsMTEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCB0 ZW4KKygxIHJvdykKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCBJ TiAoJ1sxMCwxMSknKTsKKy0tIHRlc3QgdGhhdCB3ZSBydW4gdHJpZ2dlcnMgb24gdGhlIFVQREFU RS9ERUxFVEVkIHJvdyBhbmQgdGhlIElOU0VSVGVkIHJvd3MKK0NSRUFURSBGVU5DVElPTiBkdW1w X3RyaWdnZXIoKQorUkVUVVJOUyBUUklHR0VSIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJ TgorICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSAlOicsCisgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdf T1AsIFRHX0xFVkVMOworCisgIElGIFRHX0FSR1ZbMF0gVEhFTgorICAgIFJBSVNFIE5PVElDRSAn ICBvbGQ6ICUnLCAoU0VMRUNUIHN0cmluZ19hZ2cob2xkX3RhYmxlOjp0ZXh0LCAnXG4gICAgICAg JykgRlJPTSBvbGRfdGFibGUpOworICBFTFNFCisgICAgUkFJU0UgTk9USUNFICcgIG9sZDogJScs IE9MRC52YWxpZF9hdDsKKyAgRU5EIElGOworICBJRiBUR19BUkdWWzFdIFRIRU4KKyAgICBSQUlT RSBOT1RJQ0UgJyAgbmV3OiAlJywgKFNFTEVDVCBzdHJpbmdfYWdnKG5ld190YWJsZTo6dGV4dCwg J1xuICAgICAgICcpIEZST00gbmV3X3RhYmxlKTsKKyAgRUxTRQorICAgIFJBSVNFIE5PVElDRSAn ICBuZXc6ICUnLCBORVcudmFsaWRfYXQ7CisgIEVORCBJRjsKKworICBJRiBUR19PUCA9ICdJTlNF UlQnIE9SIFRHX09QID0gJ1VQREFURScgVEhFTgorICAgIFJFVFVSTiBORVc7CisgIEVMU0lGIFRH X09QID0gJ0RFTEVURScgVEhFTgorICAgIFJFVFVSTiBPTEQ7CisgIEVORCBJRjsKK0VORDsKKyQk OworLS0gc3RhdGVtZW50IHRyaWdnZXJzOgorQ1JFQVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9zdG10 CitCRUZPUkUgSU5TRVJUIE9SIFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxz ZSwgZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2luc2VydF9zdG10CitBRlRFUiBJ TlNFUlQgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUg UFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBv X2FmdGVyX3VwZGF0ZV9zdG10CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAor Rk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwg ZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9zdG10CitBRlRFUiBERUxF VEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJP Q0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworLS0gcm93IHRyaWdnZXJzOgorQ1JF QVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9yb3cKK0JFRk9SRSBJTlNFUlQgT1IgVVBEQVRFIE9SIERF TEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURV UkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJf aW5zZXJ0X3JvdworQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNI IFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFU RSBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRp b25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihm YWxzZSwgZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVS IERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIxLTAxLTAxJyBUTyAnMjAy Mi0wMS0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4zJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CitO T1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNF OiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2Jl Zm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDE5LTAxLTAx LDIwMzAtMDEtMDEpCitOT1RJQ0U6ICAgIG5ldzogWzIwMjEtMDEtMDEsMjAyMi0wMS0wMSkKK05P VElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVm b3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogWzIwMTktMDEtMDEsMjAyMS0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9p bnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9U SUNFOiAgICBuZXc6IFsyMDE5LTAxLTAxLDIwMjEtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJf aW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5V TEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJF Rk9SRSBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAg ICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBJTlNFUlQgUk9X OgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDIyLTAxLTAxLDIw MzAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJP VzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAyMi0wMS0wMSwy MDMwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJTlNFUlQg U1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxM PgorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJ Q0U6ICAgIG9sZDogWzIwMTktMDEtMDEsMjAzMC0wMS0wMSkKK05PVElDRTogICAgbmV3OiBbMjAy MS0wMS0wMSwyMDIyLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9zdG10OiBBRlRF UiBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBu ZXc6IDxOVUxMPgorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDIzLTAxLTAxJyBUTyAnMjAyNC0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzUsNiknOworTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgREVMRVRFIFNU QVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4K K05PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogICAg b2xkOiBbMjAyMi0wMS0wMSwyMDMwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9U SUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTog ICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZv cmVfcm93OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElD RTogICAgbmV3OiBbMjAyMi0wMS0wMSwyMDIzLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2lu c2VydF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogWzIwMjItMDEtMDEsMjAyMy0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9p bnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVM TD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVG T1JFIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAg IG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6 CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMjQtMDEtMDEsMjAz MC0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9X OgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDI0LTAxLTAxLDIw MzAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBT VEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+ CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05PVElD RTogICAgb2xkOiBbMjAyMi0wMS0wMSwyMDMwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IDxOVUxM PgorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9zdG10OiBBRlRFUiBERUxFVEUgU1RBVEVNRU5U OgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQg ICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIG5hbWUgICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDIt MDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMy0wMywyMDE4LTAzLTEwKSB8IG9uZQorIFsxLDIp IHwgWzIwMTgtMDMtMTcsMjAxOC0wNC0wNCkgfCBvbmUKKyBbMyw0KSB8IFsyMDE4LTAxLTAxLDIw MTgtMDItMDEpIHwgdGhyZWUKKyBbMyw0KSB8IFsyMDE4LTAyLTAxLDIwMTgtMDItMDIpIHwgdGhy ZWVeMworIFszLDQpIHwgWzIwMTgtMDItMDMsMjAxOC0wMi0xNSkgfCB0aHJlZV4zCisgWzMsNCkg fCBbMjAxOC0wMi0xNSwyMDE4LTA2LTAxKSB8IHRocmVlCisgWzUsNikgfCAoLDIwMTgtMDEtMDEp ICAgICAgICAgICB8IGZpdmUKKyBbNSw2KSB8IFsyMDE5LTAxLTAxLDIwMjEtMDEtMDEpIHwgZml2 ZQorIFs1LDYpIHwgWzIwMjEtMDEtMDEsMjAyMi0wMS0wMSkgfCBmaXZlXjMKKyBbNSw2KSB8IFsy MDIyLTAxLTAxLDIwMjMtMDEtMDEpIHwgZml2ZQorIFs1LDYpIHwgWzIwMjQtMDEtMDEsMjAzMC0w MS0wMSkgfCBmaXZlCisgWzYsNykgfCBbMjAxOC0wMy0wMSwyMDMwLTAxLTAxKSB8IHNpeAorIFs3 LDgpIHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBzZXZlbgorKDE0IHJvd3MpCisKKy0tIFRy aWdnZXJzIHdpdGggYSBjdXN0b20gdHJhbnNpdGlvbiB0YWJsZSBuYW1lOgorRFJPUCBUQUJMRSBm b3JfcG9ydGlvbl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0CispOwor SU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0w MS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKTsKKy0tIHN0YXRlbWVudCB0cmlnZ2VyczoKK0NSRUFU RSBUUklHR0VSIGZwb19iZWZvcmVfc3RtdAorQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVM RVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBS T0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFURSBUUklHR0VSIGZwb19h ZnRlcl9pbnNlcnRfc3RtdAorQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JF RkVSRU5DSU5HIE5FVyBUQUJMRSBBUyBuZXdfdGFibGUKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVD VVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIHRydWUpOworQ1JFQVRFIFRSSUdHRVIg ZnBvX2FmdGVyX3VwZGF0ZV9zdG10CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorUkVGRVJFTkNJTkcgTkVXIFRBQkxFIEFTIG5ld190YWJsZSBPTEQgVEFCTEUgQVMgb2xkX3Rh YmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKHRy dWUsIHRydWUpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9zdG10CitBRlRFUiBE RUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgT0xEIFRBQkxFIEFTIG9s ZF90YWJsZQorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dl cih0cnVlLCBmYWxzZSk7CistLSByb3cgdHJpZ2dlcnM6CitDUkVBVEUgVFJJR0dFUiBmcG9fYmVm b3JlX3JvdworQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVMRVRFIE9OIGZvcl9wb3J0aW9u X29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFs c2UsIGZhbHNlKTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9pbnNlcnRfcm93CitBRlRFUiBJ TlNFUlQgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgTkVXIFRBQkxFIEFTIG5l d190YWJsZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxz ZSwgdHJ1ZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdworQUZURVIgVVBE QVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVSRU5DSU5HIE9MRCBUQUJMRSBBUyBvbGRf dGFibGUgTkVXIFRBQkxFIEFTIG5ld190YWJsZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VE VVJFIGR1bXBfdHJpZ2dlcih0cnVlLCB0cnVlKTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9k ZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJ TkcgT0xEIFRBQkxFIEFTIG9sZF90YWJsZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJF IGR1bXBfdHJpZ2dlcih0cnVlLCBmYWxzZSk7CitCRUdJTjsKK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcy MDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICcyMDE4LTAxLTE1X3RvXzIwMTktMDEtMDEnOworTk9U SUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTog ICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZv cmVfcm93OiBCRUZPUkUgVVBEQVRFIFJPVzoKK05PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTE1LDIwMTktMDEtMDEpCitOT1RJ Q0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAg ICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9y ZV9yb3c6IEJFRk9SRSBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNF OiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5z ZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElD RTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAxOC0wMS0xNSkiLG9uZSkKK05PVElD RTogIGZwb19hZnRlcl9pbnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElD RTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEs MjAxOC0wMS0xNSkiLG9uZSkKK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElOU0VS VCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5V TEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkK K05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNF OiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJ TlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6 ICgiWzEsMikiLCJbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBvX2Fm dGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogKCJbMSwy KSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICAgIG5ldzogKCJbMSwy KSIsIlsyMDE4LTAxLTE1LDIwMTktMDEtMDEpIiwyMDE4LTAxLTE1X3RvXzIwMTktMDEtMDEpCitO T1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVSIFVQREFURSBTVEFURU1FTlQ6CitO T1RJQ0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitO T1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTE1LDIwMTktMDEtMDEpIiwyMDE4LTAx LTE1X3RvXzIwMTktMDEtMDEpCitST0xMQkFDSzsKK0JFR0lOOworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIw MTgtMDEtMjEnOworTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgREVMRVRFIFNUQVRF TUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05P VElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogICAgb2xk OiBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNF OiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAg b2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVf cm93OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTog ICAgbmV3OiBbMjAxOC0wMS0yMSwyMDIwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2Vy dF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6 ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6 ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIw MjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVM RVRFIFJPVzoKK05PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSkiLG9uZSkKK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19hZnRlcl9kZWxl dGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiAoIlsxLDIp IiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKK05PVElDRTogICAgbmV3OiA8TlVMTD4K K1JPTExCQUNLOworQkVHSU47CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDEtMDInCisgIFNFVCBuYW1lID0g J05VTExfdG9fMjAxOC0wMS0wMSc7CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBV UERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6 IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgorTk9U SUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpCitOT1RJQ0U6ICAgIG5ldzogWzIw MTgtMDEtMDEsMjAxOC0wMS0wMikKK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElO U0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzog PE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJ Q0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMDIsMjAyMC0wMS0w MSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9U SUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0w MiwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRF UiBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBu ZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMiwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBv X2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogKCJb MSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICAgIG5ldzogKCJb MSwyKSIsIlsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpIixOVUxMX3RvXzIwMTgtMDEtMDEpCitOT1RJ Q0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVSIFVQREFURSBTVEFURU1FTlQ6CitOT1RJ Q0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJ Q0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpIixOVUxMX3RvXzIw MTgtMDEtMDEpCitST0xMQkFDSzsKKy0tIERlZmVycmVkIHRyaWdnZXJzCistLSAobXVzdCBiZSBD T05TVFJBSU5UIHRyaWdnZXJzIHRodXMgQUZURVIgUk9XIHdpdGggbm8gdHJhbnNpdGlvbiB0YWJs ZXMpCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVBVEUgVEFCTEUgZm9yX3Bv cnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAor ICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFs aWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEp JywgJ29uZScpOworQ1JFQVRFIENPTlNUUkFJTlQgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3Jv dworQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0RFRkVSUkFCTEUgSU5JVElB TExZIERFRkVSUkVECitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2Vy KGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgQ09OU1RSQUlOVCBUUklHR0VSIGZwb19hZnRlcl91cGRh dGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorREVGRVJSQUJMRSBJ TklUSUFMTFkgREVGRVJSRUQKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3Ry aWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFURSBDT05TVFJBSU5UIFRSSUdHRVIgZnBvX2FmdGVy X2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitERUZFUlJB QkxFIElOSVRJQUxMWSBERUZFUlJFRAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1 bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworQkVHSU47CitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAx OS0wMS0wMScKKyAgU0VUIG5hbWUgPSAnMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxJzsKK0NPTU1J VDsKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9U SUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEt MTUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKK05P VElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAxOS0wMS0wMSwyMDIwLTAx LTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitO T1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkKK05PVElDRTogICAgbmV3OiBb MjAxOC0wMS0xNSwyMDE5LTAxLTAxKQorQkVHSU47CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0y MSc7CitDT01NSVQ7CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJU IFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAxOC0wMS0y MSwyMDE5LTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVU RSBST1c6CitOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkKK05PVElDRTog ICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxF VEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCitOT1RJQ0U6 ICAgIG5ldzogPE5VTEw+CitCRUdJTjsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0wMicKKyAgU0VUIG5h bWUgPSAnTlVMTF90b18yMDE4LTAxLTAxJzsKK0NPTU1JVDsKK1NFTEVDVCAqIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgICAgICAg ICAgIG5hbWUgICAgICAgICAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEsMikgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAx KSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDEtMjEsMjAxOS0wMS0wMSkgfCAyMDE4LTAxLTE1X3Rv XzIwMTktMDEtMDEKKygyIHJvd3MpCisKKy0tIHRlc3QgRk9SIFBPUlRJT04gT0YgZnJvbSB0cmln Z2VycyBkdXJpbmcgRk9SIFBPUlRJT04gT0Y6CitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rl c3Q7CitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwK KyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3Jf cG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywg J1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ29uZScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAx LTAxLDIwMjAtMDEtMDEpJywgJ3R3bycpLAorICAoJ1szLDQpJywgJ1syMDE4LTAxLTAxLDIwMjAt MDEtMDEpJywgJ3RocmVlJyksCisgICgnWzQsNSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkn LCAnZm91cicpOworQ1JFQVRFIEZVTkNUSU9OIHRyZ19mcG9fdXBkYXRlKCkKK1JFVFVSTlMgVFJJ R0dFUiBMQU5HVUFHRSBwbHBnc3FsIEFTCiskJAorQkVHSU4KKyAgSUYgcGdfdHJpZ2dlcl9kZXB0 aCgpID0gMSBUSEVOCisgICAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICAgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMDEnIFRPICcyMDE4LTAzLTAxJworICAg ICAgU0VUIG5hbWUgPSBDT05DQVQobmFtZSwgJ14nKQorICAgICAgV0hFUkUgaWQgPSBPTEQuaWQ7 CisgIEVORCBJRjsKKyAgUkVUVVJOIENBU0UgV0hFTiAnVEdfT1AnID0gJ0RFTEVURScgVEhFTiBP TEQgRUxTRSBORVcgRU5EOworRU5EOworJCQ7CitDUkVBVEUgRlVOQ1RJT04gdHJnX2Zwb19kZWxl dGUoKQorUkVUVVJOUyBUUklHR0VSIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBJ RiBwZ190cmlnZ2VyX2RlcHRoKCkgPSAxIFRIRU4KKyAgICBERUxFVEUgRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgICAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAzLTAx JyBUTyAnMjAxOC0wNC0wMScKKyAgICAgIFdIRVJFIGlkID0gT0xELmlkOworICBFTkQgSUY7Cisg IFJFVFVSTiBDQVNFIFdIRU4gJ1RHX09QJyA9ICdERUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVO RDsKK0VORDsKKyQkOworLS0gVVBEQVRFIEZPUiBQT1JUSU9OIE9GIGZyb20gYSB0cmlnZ2VyIGZp cmVkIGJ5IFVQREFURSBGT1IgUE9SVElPTiBPRgorQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX3Vw ZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBS T1cgRVhFQ1VURSBQUk9DRURVUkUgdHJnX2Zwb191cGRhdGUoKTsKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDUtMDEnIFRP ICcyMDE4LTA2LTAxJworICBTRVQgbmFtZSA9IENPTkNBVChuYW1lLCAnKicpCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9 ICdbMSwyKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LQorIFsxLDIpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4 LTAyLTAxLDIwMTgtMDMtMDEpIHwgb25lXgorIFsxLDIpIHwgWzIwMTgtMDMtMDEsMjAxOC0wNS0w MSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTA1LTAxLDIwMTgtMDYtMDEpIHwgb25lKgorIFsxLDIp IHwgWzIwMTgtMDYtMDEsMjAyMC0wMS0wMSkgfCBvbmUKKyg1IHJvd3MpCisKK0RST1AgVFJJR0dF UiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworLS0gVVBEQVRF IEZPUiBQT1JUSU9OIE9GIGZyb20gYSB0cmlnZ2VyIGZpcmVkIGJ5IERFTEVURSBGT1IgUE9SVElP TiBPRgorQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBP TiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgdHJn X2Zwb191cGRhdGUoKTsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFdI RVJFIGlkID0gJ1syLDMpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVS RSBpZCA9ICdbMiwzKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLQorIFsyLDMpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkgfCB0d28KKyBbMiwzKSB8 IFsyMDE4LTAyLTAxLDIwMTgtMDMtMDEpIHwgdHdvXgorIFsyLDMpIHwgWzIwMTgtMDMtMDEsMjAx OC0wNS0wMSkgfCB0d28KKyBbMiwzKSB8IFsyMDE4LTA2LTAxLDIwMjAtMDEtMDEpIHwgdHdvCiso NCByb3dzKQorCitEUk9QIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cgT04gZm9yX3BvcnRp b25fb2ZfdGVzdDsKKy0tIERFTEVURSBGT1IgUE9SVElPTiBPRiBmcm9tIGEgdHJpZ2dlciBmaXJl ZCBieSBVUERBVEUgRk9SIFBPUlRJT04gT0YKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl91cGRh dGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9X IEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fZGVsZXRlKCk7CitVUERBVEUgZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA1LTAxJyBUTyAn MjAxOC0wNi0wMScKKyAgU0VUIG5hbWUgPSBDT05DQVQobmFtZSwgJyonKQorICBXSEVSRSBpZCA9 ICdbMyw0KSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAn WzMsNCknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgIG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tCisgWzMsNCkgfCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKSB8IHRocmVlCisgWzMsNCkgfCBb MjAxOC0wNC0wMSwyMDE4LTA1LTAxKSB8IHRocmVlCisgWzMsNCkgfCBbMjAxOC0wNS0wMSwyMDE4 LTA2LTAxKSB8IHRocmVlKgorIFszLDQpIHwgWzIwMTgtMDYtMDEsMjAyMC0wMS0wMSkgfCB0aHJl ZQorKDQgcm93cykKKworRFJPUCBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93IE9OIGZvcl9w b3J0aW9uX29mX3Rlc3Q7CistLSBERUxFVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIg ZmlyZWQgYnkgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJf ZGVsZXRlX3JvdworQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNI IFJPVyBFWEVDVVRFIFBST0NFRFVSRSB0cmdfZnBvX2RlbGV0ZSgpOworREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA1 LTAxJyBUTyAnMjAxOC0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzQsNSknOworU0VMRUNUICogRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s0LDUpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgCistLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzQsNSkgfCBbMjAxOC0wMS0wMSwy MDE4LTAzLTAxKSB8IGZvdXIKKyBbNCw1KSB8IFsyMDE4LTA0LTAxLDIwMTgtMDUtMDEpIHwgZm91 cgorIFs0LDUpIHwgWzIwMTgtMDYtMDEsMjAyMC0wMS0wMSkgfCBmb3VyCisoMyByb3dzKQorCitE Uk9QIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cgT04gZm9yX3BvcnRpb25fb2ZfdGVzdDsK Ky0tIFRlc3Qgd2l0aCBtdWx0aXJhbmdlcworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rl c3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBkYXRlbXVsdGlyYW5n ZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMLAorICBDT05TVFJBSU5UIGZvcl9wb3J0 aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBu YW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0w MS0wMicsICcyMDE4LTAyLTAzKScpLCBkYXRlcmFuZ2UoJzIwMTgtMDItMDQnLCAnMjAxOC0wMy0w MycpKSwgJ29uZScpLAorICAoJ1sxLDIpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAzLTAzJywgJzIwMTgtMDQtMDQpJykpLCAnb25lJyksCisgICgnWzIsMyknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wNS0wMSknKSksICd0d28nKSwKKyAg KCdbMyw0KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsIG51bGwpKSwg J3RocmVlJyk7CisgIDsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTEwJywgJzIw MTgtMDItMTAnKSwgZGF0ZXJhbmdlKCcyMDE4LTAzLTA1JywgJzIwMTgtMDUtMDEnKSkpCisgIFNF VCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitERUxFVEUgRlJPTSBmb3Jf cG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnKSwgZGF0ZXJhbmdlKCcyMDE4 LTAzLTAxJywgJzIwMTgtMDMtMTUnKSkpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLQorIFsxLDIpIHwge1syMDE4LTAxLTAyLDIwMTgtMDEtMTApLFsyMDE4LTAyLTEwLDIw MTgtMDMtMDMpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IG9uZQorIFsxLDIpIHwge1syMDE4 LTAxLTEwLDIwMTgtMDItMDMpLFsyMDE4LTAyLTA0LDIwMTgtMDItMTApfSAgICAgICAgICAgICAg ICAgICAgICAgICB8IG9uZV4xCisgWzEsMikgfCB7WzIwMTgtMDMtMDMsMjAxOC0wMy0wNSl9ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb25lCisgWzEs MikgfCB7WzIwMTgtMDMtMDUsMjAxOC0wNC0wNCl9ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgb25lXjEKKyBbMiwzKSB8IHtbMjAxOC0wMS0wMSwyMDE4 LTAxLTE1KSxbMjAxOC0wMi0xNSwyMDE4LTAzLTAxKSxbMjAxOC0wMy0xNSwyMDE4LTA1LTAxKX0g fCB0d28KKyBbMyw0KSB8IHtbMjAxOC0wMS0wMSwpfSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aHJlZQorKDYgcm93cykKKworRFJP UCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKKy0tIFRlc3Qgd2l0aCBhIGN1c3RvbSByYW5n ZSB0eXBlCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUpOwor Q1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBO VUxMLAorICB2YWxpZF9hdCBteWRhdGVyYW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBO VUxMLAorICBDT05TVFJBSU5UIGZvcl9wb3J0aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlv bl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAx OC0wMS0wMiwyMDE4LTAyLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMi0wMywy MDE4LTAzLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMywyMDE4LTA0LTA0 KScsICdvbmUnKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTA1LTAxKScsICd0d28n KSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwpJywgJ3RocmVlJyk7CisgIDsKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE4LTAyLTE1JworICBXSEVS RSBpZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFt ZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwg WzIwMTgtMDEtMDIsMjAxOC0wMS0xMCkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTEwLDIwMTgt MDItMDMpIHwgb25lXjEKKyBbMSwyKSB8IFsyMDE4LTAyLTAzLDIwMTgtMDItMTApIHwgb25lXjEK KyBbMSwyKSB8IFsyMDE4LTAyLTEwLDIwMTgtMDMtMDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0w My0wMywyMDE4LTA0LTA0KSB8IG9uZQorIFsyLDMpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMS0xNSkg fCB0d28KKyBbMiwzKSB8IFsyMDE4LTAyLTE1LDIwMTgtMDUtMDEpIHwgdHdvCisgWzMsNCkgfCBb MjAxOC0wMS0wMSwpICAgICAgICAgICB8IHRocmVlCisoOCByb3dzKQorCitEUk9QIFRBQkxFIGZv cl9wb3J0aW9uX29mX3Rlc3QyOworRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOworLS0gVGVzdCBGT1Ig UE9SVElPTiBPRiBhZ2FpbnN0IGEgcGFydGl0aW9uZWQgdGFibGUuCistLSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF8xIGhhcyB0aGUgc2FtZSBhdHRudW1zIGFzIHRoZSByb290CistLSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF8zIGhhcyB0aGUgZGlmZmVyZW50IGF0dG51bXMgZnJvbSB0aGUgcm9vdAorLS0g dGVtcG9yYWxfcGFydGl0aW9uZWRfNSBoYXMgdGhlIGRpZmZlcmVudCBhdHRudW1zIHRvbywgYnV0 IHJldmVyc2VkCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0LAorICBDT05TVFJBSU5U IHRlbXBvcmFsX3Bhcml0aW9uZWRfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKykgUEFSVElUSU9OIEJZIExJU1QgKGlkKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF8xIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVT IElOICgnWzEsMiknLCAnWzIsMyknKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF8zIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzMs NCknLCAnWzQsNSknKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IFBBUlRJ VElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzUsNiknLCAnWzYs NyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIERFVEFDSCBQQVJUSVRJT04g dGVtcG9yYWxfcGFydGl0aW9uZWRfMzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk XzMgRFJPUCBDT0xVTU4gaWQsIERST1AgQ09MVU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUgdGVt cG9yYWxfcGFydGl0aW9uZWRfMyBBREQgQ09MVU1OIGlkIGludDRyYW5nZSBOT1QgTlVMTCwgQURE IENPTFVNTiB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBBVFRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzMgRk9S IFZBTFVFUyBJTiAoJ1szLDQpJywgJ1s0LDUpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZCBERVRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzU7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IERST1AgQ09MVU1OIGlkLCBEUk9QIENPTFVNTiB2 YWxpZF9hdDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgQUREIENPTFVNTiB2 YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEwsIEFERCBDT0xVTU4gaWQgaW50NHJhbmdlIE5PVCBO VUxMOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgQVRUQUNIIFBBUlRJVElPTiB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF81IEZPUiBWQUxVRVMgSU4gKCdbNSw2KScsICdbNiw3KScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWQgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFM VUVTCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAn b25lJyksCisgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScp LCAndGhyZWUnKSwKKyAgKCdbNSw2KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAx LTAxJyksICdmaXZlJyk7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkOworICBp ZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAx KSB8IG9uZQorIFszLDQpIHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorIFs1LDYp IHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCBmaXZlCisoMyByb3dzKQorCistLSBVcGRhdGUg d2l0aG91dCBtb3Zpbmcgd2l0aGluIHBhcnRpdGlvbiAxCitVUERBVEUgdGVtcG9yYWxfcGFydGl0 aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMy0wMScgVE8gJzIwMDAt MDQtMDEnCisgIFNFVCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBV cGRhdGUgd2l0aG91dCBtb3Zpbmcgd2l0aGluIHBhcnRpdGlvbiAzCitVUERBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMy0wMScgVE8g JzIwMDAtMDQtMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjEnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9uIDUKK1VQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAz LTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4xJworICBXSEVSRSBpZCA9 ICdbNSw2KSc7CistLSBNb3ZlIGZyb20gcGFydGl0aW9uIDEgdG8gcGFydGl0aW9uIDMKK1VQREFU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAw LTA2LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjInLAorICAgICAgaWQg PSAnWzQsNSknCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIE1vdmUgZnJvbSBwYXJ0aXRpb24g MyB0byBwYXJ0aXRpb24gMQorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDYtMDEnIFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFt ZSA9ICd0aHJlZV4yJywKKyAgICAgIGlkID0gJ1syLDMpJworICBXSEVSRSBpZCA9ICdbMyw0KSc7 CistLSBNb3ZlIGZyb20gcGFydGl0aW9uIDUgdG8gcGFydGl0aW9uIDMKK1VQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA2LTAxJyBU TyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4yJywKKyAgICAgIGlkID0gJ1szLDQp JworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBVcGRhdGUgYWxsIHBhcnRpdGlvbnMgYXQgb25j ZSAoZWFjaCB3aXRoIGxlZnRvdmVycykKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgfCAgbmFtZSAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LQorIFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAwMC0wMy0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDAw LTAzLTAxLDIwMDAtMDQtMDEpIHwgb25lXjEKKyBbMSwyKSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYt MDEpIHwgb25lCisgWzEsMikgfCBbMjAwMC0wNy0wMSwyMDEwLTAxLTAxKSB8IG9uZQorIFsyLDMp IHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkgfCB0aHJlZV4yCisgWzMsNCkgfCBbMjAwMC0wMS0w MSwyMDAwLTAzLTAxKSB8IHRocmVlCisgWzMsNCkgfCBbMjAwMC0wMy0wMSwyMDAwLTA0LTAxKSB8 IHRocmVlXjEKKyBbMyw0KSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpIHwgdGhyZWUKKyBbMyw0 KSB8IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEpIHwgZml2ZV4yCisgWzMsNCkgfCBbMjAwMC0wNy0w MSwyMDEwLTAxLTAxKSB8IHRocmVlCisgWzQsNSkgfCBbMjAwMC0wNi0wMSwyMDAwLTA3LTAxKSB8 IG9uZV4yCisgWzUsNikgfCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IGZpdmUKKyBbNSw2KSB8 IFsyMDAwLTAzLTAxLDIwMDAtMDQtMDEpIHwgZml2ZV4xCisgWzUsNikgfCBbMjAwMC0wNC0wMSwy MDAwLTA2LTAxKSB8IGZpdmUKKyBbNSw2KSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwgZml2 ZQorKDE1IHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfMSBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBu YW1lICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCisgWzEs MikgfCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IG9uZQorIFsxLDIpIHwgWzIwMDAtMDMtMDEs MjAwMC0wNC0wMSkgfCBvbmVeMQorIFsxLDIpIHwgWzIwMDAtMDQtMDEsMjAwMC0wNi0wMSkgfCBv bmUKKyBbMSwyKSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwgb25lCisgWzIsMykgfCBbMjAw MC0wNi0wMSwyMDAwLTA3LTAxKSB8IHRocmVlXjIKKyg1IHJvd3MpCisKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIG5hbWUgICB8 ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgCistLS0tLS0tLS0rLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdGhyZWUgICB8IFszLDQpIHwgWzIwMDAtMDEtMDEsMjAw MC0wMy0wMSkKKyB0aHJlZV4xIHwgWzMsNCkgfCBbMjAwMC0wMy0wMSwyMDAwLTA0LTAxKQorIHRo cmVlICAgfCBbMyw0KSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpCisgZml2ZV4yICB8IFszLDQp IHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkKKyB0aHJlZSAgIHwgWzMsNCkgfCBbMjAwMC0wNy0w MSwyMDEwLTAxLTAxKQorIG9uZV4yICAgfCBbNCw1KSB8IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEp CisoNiByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICBuYW1lICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIGlk ICAgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBmaXZlICAg fCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IFs1LDYpCisgZml2ZV4xIHwgWzIwMDAtMDMtMDEs MjAwMC0wNC0wMSkgfCBbNSw2KQorIGZpdmUgICB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpIHwg WzUsNikKKyBmaXZlICAgfCBbMjAwMC0wNy0wMSwyMDEwLTAxLTAxKSB8IFs1LDYpCisoNCByb3dz KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkOworUkVTRVQgZGF0ZXN0eWxlOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKaW5kZXggZGFhZmFhOTRmZGUu LjlmZjhlN2ZiMzYzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZp bGVnZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQK QEAgLTExMTksNiArMTExOSwyNCBAQCBFUlJPUjogIG51bGwgdmFsdWUgaW4gY29sdW1uICJiIiBv ZiByZWxhdGlvbiAiZXJydHN0X3BhcnRfMiIgdmlvbGF0ZXMgbm90LW51bGwgYwogREVUQUlMOiAg RmFpbGluZyByb3cgY29udGFpbnMgKGEsIGIsIGMpID0gKGFhYWEsIG51bGwsIGNjYykuCiBTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIERST1AgVEFCTEUgZXJy dHN0OworLS0gdGVzdCBjb2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyBvbiB0aGUgcmFuZ2UgdXNlZCBp biBGT1IgUE9SVElPTiBPRgorU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZf dXNlcjE7CitDUkVBVEUgVEFCTEUgdDEgKAorICBjMSBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IHRz cmFuZ2UsCisJQ09OU1RSQUlOVCB0MXBrIFBSSU1BUlkgS0VZIChjMSwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIy OworR1JBTlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK0dSQU5UIFVQREFU RSAoYzEpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFVQREFURSAoYzEsIHZh bGlkX2F0KSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjM7CitTRVQgU0VTU0lPTiBBVVRIT1JJ WkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK1VQREFURSB0MSBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VUIGMxID0gJ1syLDMpJzsK K0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHRhYmxlIHQxCitTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK1VQREFURSB0MSBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VUIGMxID0gJ1syLDMp JzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOworRFJPUCBU QUJMRSB0MTsKIC0tIHRlc3QgY29sdW1uLWxldmVsIHByaXZpbGVnZXMgd2hlbiBpbnZvbHZlZCB3 aXRoIERFTEVURQogU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7 CiBBTFRFUiBUQUJMRSBhdGVzdDYgQUREIENPTFVNTiB0aHJlZSBpbnRlZ2VyOwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0CmluZGV4IDAzZGY3ZTc1Yjdi Li40ZmI5MjhkNTYxZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRh dGFibGVfdmlld3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRhYmxl X3ZpZXdzLm91dApAQCAtMzcwMCw2ICszNzAwLDM4IEBAIHNlbGVjdCAqIGZyb20gdXZfaW9jdV90 YWI7CiAKIGRyb3AgdmlldyB1dl9pb2N1X3ZpZXc7CiBkcm9wIHRhYmxlIHV2X2lvY3VfdGFiOwor LS0gQ2hlY2sgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHdvcmtzIGNvcnJlY3RseQorY3JlYXRlIHRh YmxlIHV2X2Zwb190YWIgKGlkIGludDRyYW5nZSwgdmFsaWRfYXQgdHNyYW5nZSwgYiBmbG9hdCwK KyAgICBjb25zdHJhaW50IHBrX3V2X2Zwb190YWIgcHJpbWFyeSBrZXkgKGlkLCB2YWxpZF9hdCB3 aXRob3V0IG92ZXJsYXBzKSk7CitpbnNlcnQgaW50byB1dl9mcG9fdGFiIHZhbHVlcyAoJ1sxLDFd JywgJ1syMDIwLTAxLTAxLCAyMDMwLTAxLTAxKScsIDApOworY3JlYXRlIHZpZXcgdXZfZnBvX3Zp ZXcgYXMKKyAgICBzZWxlY3QgYiwgYisxIGFzIGMsIHZhbGlkX2F0LCBpZCwgJzIuMCc6OnRleHQg YXMgdHdvIGZyb20gdXZfZnBvX3RhYjsKK2luc2VydCBpbnRvIHV2X2Zwb192aWV3IChpZCwgdmFs aWRfYXQsIGIpIHZhbHVlcyAoJ1sxLDFdJywgJ1syMDEwLTAxLTAxLCAyMDIwLTAxLTAxKScsIDEp Oworc2VsZWN0ICogZnJvbSB1dl9mcG9fdmlldzsKKyBiIHwgYyB8ICAgICAgICAgICAgICAgICAg ICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgICAgfCAgaWQgICB8IHR3byAKKy0t LSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0rLS0tLS0KKyAwIHwgMSB8IFsiV2VkIEphbiAwMSAwMDowMDowMCAyMDIw IiwiVHVlIEphbiAwMSAwMDowMDowMCAyMDMwIikgfCBbMSwyKSB8IDIuMAorIDEgfCAyIHwgWyJG cmkgSmFuIDAxIDAwOjAwOjAwIDIwMTAiLCJXZWQgSmFuIDAxIDAwOjAwOjAwIDIwMjAiKSB8IFsx LDIpIHwgMi4wCisoMiByb3dzKQorCit1cGRhdGUgdXZfZnBvX3ZpZXcgZm9yIHBvcnRpb24gb2Yg dmFsaWRfYXQgZnJvbSAnMjAxNS0wMS0wMScgdG8gJzIwMjAtMDEtMDEnIHNldCBiID0gMiB3aGVy ZSBpZCA9ICdbMSwxXSc7CitzZWxlY3QgKiBmcm9tIHV2X2Zwb192aWV3OworIGIgfCBjIHwgICAg ICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICAgICB8ICBp ZCAgIHwgdHdvIAorLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLQorIDAgfCAxIHwgWyJXZWQgSmFuIDAx IDAwOjAwOjAwIDIwMjAiLCJUdWUgSmFuIDAxIDAwOjAwOjAwIDIwMzAiKSB8IFsxLDIpIHwgMi4w CisgMiB8IDMgfCBbIlRodSBKYW4gMDEgMDA6MDA6MDAgMjAxNSIsIldlZCBKYW4gMDEgMDA6MDA6 MDAgMjAyMCIpIHwgWzEsMikgfCAyLjAKKyAxIHwgMiB8IFsiRnJpIEphbiAwMSAwMDowMDowMCAy MDEwIiwiVGh1IEphbiAwMSAwMDowMDowMCAyMDE1IikgfCBbMSwyKSB8IDIuMAorKDMgcm93cykK KworZGVsZXRlIGZyb20gdXZfZnBvX3ZpZXcgZm9yIHBvcnRpb24gb2YgdmFsaWRfYXQgZnJvbSAn MjAxNy0wMS0wMScgdG8gJzIwMjItMDEtMDEnIHdoZXJlIGlkID0gJ1sxLDFdJzsKK3NlbGVjdCAq IGZyb20gdXZfZnBvX3ZpZXc7CisgYiB8IGMgfCAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGlkICAgfCB0d28gCistLS0rLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tKy0tLS0tCisgMSB8IDIgfCBbIkZyaSBKYW4gMDEgMDA6MDA6MDAgMjAxMCIsIlRodSBKYW4g MDEgMDA6MDA6MDAgMjAxNSIpIHwgWzEsMikgfCAyLjAKKyAwIHwgMSB8IFsiU2F0IEphbiAwMSAw MDowMDowMCAyMDIyIiwiVHVlIEphbiAwMSAwMDowMDowMCAyMDMwIikgfCBbMSwyKSB8IDIuMAor IDIgfCAzIHwgWyJUaHUgSmFuIDAxIDAwOjAwOjAwIDIwMTUiLCJTdW4gSmFuIDAxIDAwOjAwOjAw IDIwMTciKSB8IFsxLDIpIHwgMi4wCisoMyByb3dzKQorCiAtLSBUZXN0IHdob2xlLXJvdyByZWZl cmVuY2VzIHRvIHRoZSB2aWV3CiBjcmVhdGUgdGFibGUgdXZfaW9jdV90YWIgKGEgaW50IHVuaXF1 ZSwgYiB0ZXh0KTsKIGNyZWF0ZSB2aWV3IHV2X2lvY3VfdmlldyBhcwpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dCBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQKaW5kZXggZjMxNDRiZGMzOWMuLjQw MTU1MGI1NDgyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRf b3ZlcmxhcHMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVy bGFwcy5vdXQKQEAgLTIsNyArMiw3IEBACiAtLQogLS0gV2UgbGVhdmUgYmVoaW5kIHNldmVyYWwg dGFibGVzIHRvIHRlc3QgcGdfZHVtcCBldGM6CiAtLSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX3Ju ZzIsCi0tLSB0ZW1wb3JhbF9ma19ybmcycm5nLgorLS0gdGVtcG9yYWxfZmtfcm5nMnJuZywgdGVt cG9yYWxfZmsyX3JuZzJybmcuCiBTRVQgZGF0ZXN0eWxlIFRPIElTTywgWU1EOwogLS0KIC0tIHRl c3QgaW5wdXQgcGFyc2VyCkBAIC04ODksNiArODg5LDM2IEBAIElOU0VSVCBJTlRPIHRlbXBvcmFs MyAoaWQsIHZhbGlkX2F0LCBpZDIsIG5hbWUpCiAgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAt MDEtMDEnLCAnMjAxMC0wMS0wMScpLCAnWzcsOCknLCAnZm9vJyksCiAgICgnWzIsMyknLCBkYXRl cmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAnWzksMTApJywgJ2JhcicpCiA7CitV UERBVEUgdGVtcG9yYWwzIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDUtMDEn IFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFtZSA9IG5hbWUgfHwgJzEnOworVVBEQVRFIHRlbXBv cmFsMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA0LTAxJyBUTyAnMjAwMC0w Ni0wMScKKyAgU0VUIG5hbWUgPSBuYW1lIHx8ICcyJworICBXSEVSRSBpZCA9ICdbMiwzKSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBpZDIgICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsyMDAwLTAxLTAx LDIwMDAtMDUtMDEpIHwgWzcsOCkgIHwgZm9vCisgWzEsMikgfCBbMjAwMC0wNS0wMSwyMDAwLTA3 LTAxKSB8IFs3LDgpICB8IGZvbzEKKyBbMSwyKSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwg WzcsOCkgIHwgZm9vCisgWzIsMykgfCBbMjAwMC0wMS0wMSwyMDAwLTA0LTAxKSB8IFs5LDEwKSB8 IGJhcgorIFsyLDMpIHwgWzIwMDAtMDQtMDEsMjAwMC0wNS0wMSkgfCBbOSwxMCkgfCBiYXIyCisg WzIsMykgfCBbMjAwMC0wNS0wMSwyMDAwLTA2LTAxKSB8IFs5LDEwKSB8IGJhcjEyCisgWzIsMykg fCBbMjAwMC0wNi0wMSwyMDAwLTA3LTAxKSB8IFs5LDEwKSB8IGJhcjEKKyBbMiwzKSB8IFsyMDAw LTA3LTAxLDIwMTAtMDEtMDEpIHwgWzksMTApIHwgYmFyCisoOCByb3dzKQorCistLSBjb25mbGlj dGluZyBpZCBvbmx5OgorSU5TRVJUIElOVE8gdGVtcG9yYWwzIChpZCwgdmFsaWRfYXQsIGlkMiwg bmFtZSkKKyAgVkFMVUVTCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDUtMDEtMDEnLCAnMjAw Ni0wMS0wMScpLCAnWzgsOSknLCAnZm9vMycpOworRVJST1I6ICBjb25mbGljdGluZyBrZXkgdmFs dWUgdmlvbGF0ZXMgZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFsM19wayIKK0RFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDA1LTAxLTAxLDIwMDYtMDEtMDEpKSBjb25m bGljdHMgd2l0aCBleGlzdGluZyBrZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAwMC0wNy0w MSwyMDEwLTAxLTAxKSkuCistLSBjb25mbGljdGluZyBpZDIgb25seToKK0lOU0VSVCBJTlRPIHRl bXBvcmFsMyAoaWQsIHZhbGlkX2F0LCBpZDIsIG5hbWUpCisgIFZBTFVFUworICAoJ1szLDQpJywg ZGF0ZXJhbmdlKCcyMDA1LTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ1s5LDEwKScsICdiYXIzJyk7 CitFUlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2aW9sYXRlcyBleGNsdXNpb24gY29uc3Ry YWludCAidGVtcG9yYWwzX3VuaXEiCitERVRBSUw6ICBLZXkgKGlkMiwgdmFsaWRfYXQpPShbOSwx MCksIFsyMDA1LTAxLTAxLDIwMTAtMDEtMDEpKSBjb25mbGljdHMgd2l0aCBleGlzdGluZyBrZXkg KGlkMiwgdmFsaWRfYXQpPShbOSwxMCksIFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpKS4KIERST1Ag VEFCTEUgdGVtcG9yYWwzOwogLS0KIC0tIHRlc3QgY2hhbmdpbmcgdGhlIFBLJ3MgZGVwZW5kZW5j aWVzCkBAIC05MjAsMjYgKzk1MCw0MyBAQCBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25l ZCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKICAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAw MC0wMS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKICAgKCdbMSwyKScsIGRhdGVyYW5nZSgn MjAwMC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwKICAgKCdbMyw0KScsIGRhdGVyYW5n ZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0aHJlZScpOwotU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci0gIGlkICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAotLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0KLSBbMSwyKSB8IFsyMDAwLTAxLTAxLDIwMDAtMDItMDEpIHwgb25lCi0g WzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAzLTAxKSB8IG9uZQotIFszLDQpIHwgWzIwMDAtMDEt MDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorU0VMRUNUIHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyB0YWJsZW9pZCB8 ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0tLS0rLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyB0cDEgICAgICB8IFsxLDIp IHwgWzIwMDAtMDEtMDEsMjAwMC0wMi0wMSkgfCBvbmUKKyB0cDEgICAgICB8IFsxLDIpIHwgWzIw MDAtMDItMDEsMjAwMC0wMy0wMSkgfCBvbmUKKyB0cDIgICAgICB8IFszLDQpIHwgWzIwMDAtMDEt MDEsMjAxMC0wMS0wMSkgfCB0aHJlZQogKDMgcm93cykKIAotU0VMRUNUICogRlJPTSB0cDEgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OwotICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBu YW1lIAotLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQotIFsxLDIpIHwg WzIwMDAtMDEtMDEsMjAwMC0wMi0wMSkgfCBvbmUKLSBbMSwyKSB8IFsyMDAwLTAyLTAxLDIwMDAt MDMtMDEpIHwgb25lCi0oMiByb3dzKQotCi1TRUxFQ1QgKiBGUk9NIHRwMiBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7Ci0gIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAotLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KLSBbMyw0KSB8IFsyMDAwLTAx LTAxLDIwMTAtMDEtMDEpIHwgdGhyZWUKLSgxIHJvdykKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0 aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0xNScgVE8gJzIw MDAtMDItMTUnCisgIFNFVCBuYW1lID0gJ29uZTInCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1VQ REFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAwMC0wMi0yMCcgVE8gJzIwMDAtMDItMjUnCisgIFNFVCBpZCA9ICdbNCw1KScKKyAgV0hF UkUgbmFtZSA9ICdvbmUnOworVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScKKyAgU0VU IGlkID0gJ1syLDMpJworICBXSEVSRSBuYW1lID0gJ3RocmVlJzsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEt MTUnIFRPICcyMDAwLTAyLTE1JworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitTRUxFQ1QgdGFibGVv aWQ6OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworIHRhYmxlb2lkIHwgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5h bWUgIAorLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LQorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAxLTE1KSB8IG9uZQorIHRw MSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0xNSwyMDAwLTAyLTAxKSB8IG9uZTIKKyB0cDEgICAg ICB8IFsxLDIpIHwgWzIwMDAtMDItMDEsMjAwMC0wMi0xNSkgfCBvbmUyCisgdHAxICAgICAgfCBb MSwyKSB8IFsyMDAwLTAyLTE1LDIwMDAtMDItMjApIHwgb25lCisgdHAxICAgICAgfCBbMSwyKSB8 IFsyMDAwLTAyLTI1LDIwMDAtMDMtMDEpIHwgb25lCisgdHAxICAgICAgfCBbMiwzKSB8IFsyMDAy LTAxLTAxLDIwMDMtMDEtMDEpIHwgdGhyZWUKKyB0cDIgICAgICB8IFszLDQpIHwgWzIwMDAtMDEt MDEsMjAwMC0wMS0xNSkgfCB0aHJlZQorIHRwMiAgICAgIHwgWzMsNCkgfCBbMjAwMC0wMi0xNSwy MDAyLTAxLTAxKSB8IHRocmVlCisgdHAyICAgICAgfCBbMyw0KSB8IFsyMDAzLTAxLTAxLDIwMTAt MDEtMDEpIHwgdGhyZWUKKyB0cDIgICAgICB8IFs0LDUpIHwgWzIwMDAtMDItMjAsMjAwMC0wMi0y NSkgfCBvbmUKKygxMCByb3dzKQogCiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkOwog LS0gdGVtcG9yYWwgVU5JUVVFOgpAQCAtOTU1LDI2ICsxMDAyLDQzIEBAIElOU0VSVCBJTlRPIHRl bXBvcmFsX3BhcnRpdGlvbmVkIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAoJ1sxLDIp JywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAogICAoJ1sx LDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLAogICAo J1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ3RocmVlJyk7 Ci1TRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKLSAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCi0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQotIFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAw MC0wMi0wMSkgfCBvbmUKLSBbMSwyKSB8IFsyMDAwLTAyLTAxLDIwMDAtMDMtMDEpIHwgb25lCi0g WzMsNCkgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IHRocmVlCitTRUxFQ1QgdGFibGVvaWQ6 OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworIHRhYmxlb2lkIHwgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUg IAorLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQor IHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAyLTAxKSB8IG9uZQorIHRwMSAg ICAgIHwgWzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAzLTAxKSB8IG9uZQorIHRwMiAgICAgIHwg WzMsNCkgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IHRocmVlCiAoMyByb3dzKQogCi1TRUxF Q1QgKiBGUk9NIHRwMSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci0gIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IG5hbWUgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tCi0gWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAyLTAxKSB8IG9uZQotIFsxLDIpIHwg WzIwMDAtMDItMDEsMjAwMC0wMy0wMSkgfCBvbmUKLSgyIHJvd3MpCi0KLVNFTEVDVCAqIEZST00g dHAyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLSAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgbmFtZSAgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQot IFszLDQpIHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQotKDEgcm93KQorVVBEQVRF ICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDAwLTAxLTE1JyBUTyAnMjAwMC0wMi0xNScKKyAgU0VUIG5hbWUgPSAnb25lMicKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAyLTIwJyBUTyAnMjAwMC0wMi0yNScKKyAgU0VUIGlk ID0gJ1s0LDUpJworICBXSEVSRSBuYW1lID0gJ29uZSc7CitVUERBVEUgIHRlbXBvcmFsX3BhcnRp dGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDItMDEtMDEnIFRPICcy MDAzLTAxLTAxJworICBTRVQgaWQgPSAnWzIsMyknCisgIFdIRVJFIG5hbWUgPSAndGhyZWUnOwor REVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAwMC0wMS0xNScgVE8gJzIwMDAtMDItMTUnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKK1NFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgdGFibGVvaWQgfCAgaWQgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAxLTAxLDIwMDAt MDEtMTUpIHwgb25lCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAxLTE1LDIwMDAtMDItMDEp IHwgb25lMgorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAyLTE1KSB8IG9u ZTIKKyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDItMTUsMjAwMC0wMi0yMCkgfCBvbmUKKyB0 cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDItMjUsMjAwMC0wMy0wMSkgfCBvbmUKKyB0cDEgICAg ICB8IFsyLDMpIHwgWzIwMDItMDEtMDEsMjAwMy0wMS0wMSkgfCB0aHJlZQorIHRwMiAgICAgIHwg WzMsNCkgfCBbMjAwMC0wMS0wMSwyMDAwLTAxLTE1KSB8IHRocmVlCisgdHAyICAgICAgfCBbMyw0 KSB8IFsyMDAwLTAyLTE1LDIwMDItMDEtMDEpIHwgdGhyZWUKKyB0cDIgICAgICB8IFszLDQpIHwg WzIwMDMtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorIHRwMiAgICAgIHwgWzQsNSkgfCBbMjAw MC0wMi0yMCwyMDAwLTAyLTI1KSB8IG9uZQorKDEwIHJvd3MpCiAKIERST1AgVEFCTEUgdGVtcG9y YWxfcGFydGl0aW9uZWQ7CiAtLSBBTFRFUiBUQUJMRSBSRVBMSUNBIElERU5USVRZCkBAIC0xNzU1 LDYgKzE4MTksMzMgQEAgVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknCiAgIFdI RVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAxOC0wMi0wMScpOwogRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3Jh bF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJy bmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycm5nIgogREVUQUlMOiAgS2V5IChpZCwg dmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVy ZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIuCistLSBjaGFuZ2luZyBhbiB1 bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX3JuZworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKKyAgU0VU IGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFuZ2luZyBqdXN0IGEg cGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9ybmcKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCisgIFNFVCBpZCA9ICdbNyw4KScK KyAgV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxl ICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFs X2ZrX3JuZzJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycm5nIgorREVUQUlMOiAg S2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkpIGlzIHN0 aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIuCitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgCistLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbNSw2KSB8IFsyMDE2LTAyLTAxLDIwMTYt MDMtMDEpCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKQorIFs1LDYpIHwgWzIwMTgt MDEtMDMsMjAxOC0wMi0wMSkKKyBbNyw4KSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEtMDMpCisoNCBy b3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgaW4gKCdb Myw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMS0wNSwyMDE4LTAxLTEwKSB8IFs1LDYpCisoMSBy b3cpCisKIC0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2Ft ZSBQSyB1cGRhdGUgc3VjY2VlZHM6CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdI RVJFIGlkID0gJ1szLDQpJzsKIFVQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gZGF0 ZXJhbmdlKCcyMDE2LTAxLTAxJywgJzIwMTYtMDItMDEnKQpAQCAtMTgwMiw2ICsxODkzLDQyIEBA IEJFR0lOOwogQ09NTUlUOwogRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1w b3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3Ju ZzJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycm5nIgogREVUQUlMOiAgS2V5IChp ZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJl ZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIuCistLSBkZWxldGluZyBh biB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycK K1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlk IGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIFs1LDYpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMS0wMikKKyBbNSw2KSB8IFsyMDE4LTAxLTAz LDIwMTgtMDItMDEpCisoMiByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJy bmcgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMS0wNSwyMDE4LTAx LTEwKSB8IFs1LDYpCisoMSByb3cpCisKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAg dXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWdu IGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9y YWxfZmtfcm5nMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4 LTAxLTAzLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBv cmFsX2ZrX3JuZzJybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgaW4g KCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg WzUsNikgfCBbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKQorIFs1LDYpIHwgWzIwMTgtMDEtMDMsMjAx OC0wMi0wMSkKKygyIHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBX SEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMyw0KSB8IFsyMDE4LTAxLTA1LDIwMTgtMDEtMTAp IHwgWzUsNikKKygxIHJvdykKKwogLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNv cmQgYW5kIHRoZSBzYW1lIFBLIGRlbGV0ZSBzdWNjZWVkczoKIERFTEVURSBGUk9NIHRlbXBvcmFs X2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzMsNCknOwogREVMRVRFIEZST00gdGVtcG9yYWxfcm5n IFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAxOC0wMi0wMScpOwpAQCAtMTgxOCwxMSArMTk0NSwxMiBAQCBBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycm5nCiAgIE9OIERFTEVURSBSRVNUUklDVDsKIEVSUk9SOiAgdW5zdXBwb3J0 ZWQgT04gREVMRVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJ T0QKIC0tCi0tLSB0ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucworLS0gcm5nMnJuZyB0ZXN0 IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucwogLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRh dGVzIENBU0NBREUKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsK IElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwotSU5TRVJUIElOVE8gdGVt cG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s0LDUp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgIEFERCBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCkBAIC0xODMwLDggKzE5NTgsOSBAQCBBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CiBF UlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0 cmFpbnQgdXNpbmcgUEVSSU9ECiAtLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVM TAotSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s5LDEw KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwotSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s5LDEwKScpOwor VFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19ybmcycm5nCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdf ZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCkBAIC0xODM5 LDkgKzE5NjgsMTAgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICAgIE9OIERF TEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CiBFUlJPUjogIHVuc3VwcG9ydGVkIE9O IFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECiAt LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorVFJVTkNBVEUgdGVtcG9y YWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOwot SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxMiwxMykn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKLUlOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOCw5 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTIsMTMpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBT RVQgREVGQVVMVCAnWy0xLC0xXScsCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJy bmdfZmsKQEAgLTIyMTEsNiArMjM0MSwyMiBAQCBVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBp ZCA9ICdbNyw4KScKICAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJykpOwogRVJST1I6ICB1 cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9tbHRybmciIHZpb2xhdGVzIGZvcmVp Z24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsiIG9uIHRhYmxl ICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIgogREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQp PShbNSw2KSwge1syMDE4LTAxLTAxLDIwMTgtMDItMDEpfSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBm cm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIi4KKy0tIGNoYW5naW5nIGFuIHVu cmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDIn LCAnMjAxOC0wMS0wMycpKSkKKyAgU0VUIGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2 KSc7CistLSBjaGFuZ2luZyBqdXN0IGEgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9tbHRy bmcKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJykpKQorICBTRVQgaWQgPSAnWzcsOCknCisgIFdIRVJF IGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9y YWxfbWx0cm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIKK0RF VEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIHtbMjAxOC0wMS0wMSwyMDE4LTAxLTAy KSxbMjAxOC0wMS0wMywyMDE4LTAyLTAxKX0pIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJs ZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIuCistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0 aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZS T00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUg dGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScKKyAgV0hFUkUgaWQgPSAnWzUsNiknIEFO RCB2YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4 LTAyLTAxJykpOwogLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFJFU1RSSUNUCiAt LQpAQCAtMjI1Myw2ICsyMzk5LDE5IEBAIEJFR0lOOwogQ09NTUlUOwogRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9tbHRybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsiIG9uIHRhYmxlICJ0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIgogREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2 KSwge1syMDE4LTAxLTAxLDIwMTgtMDItMDEpfSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRh YmxlICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIi4KKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJl bmNlZCBwYXJ0IGlzIG9rYXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcKK0ZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDInLCAn MjAxOC0wMS0wMycpKSkKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGRlbGV0aW5nIGp1c3QgYSBw YXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nCitGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTA1JywgJzIwMTgtMDEt MTAnKSkpCitXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24g dGFibGUgInRlbXBvcmFsX21sdHJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAi dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCB7WzIwMTgtMDEt MDEsMjAxOC0wMS0wMiksWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSl9KSBpcyBzdGlsbCByZWZlcmVu Y2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmciLgorLS0gdGhlbiBkZWxl dGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIGRlbGV0ZSBzdWNjZWVk czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzMs NCknOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQg dmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0w Mi0wMScpKTsKIC0tCiAtLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCiAt LQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90 ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggYTBmNWZhYjBmNWQuLjg0NDM1MDI2 MjE3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTQ4LDcgKzQ4LDcgQEAgdGVz dDogY3JlYXRlX2luZGV4IGNyZWF0ZV9pbmRleF9zcGdpc3QgY3JlYXRlX3ZpZXcgaW5kZXhfaW5j bHVkaW5nIGluZGV4X2luY2x1ZGkKICMgLS0tLS0tLS0tLQogIyBBbm90aGVyIGdyb3VwIG9mIHBh cmFsbGVsIHRlc3RzCiAjIC0tLS0tLS0tLS0KLXRlc3Q6IGNyZWF0ZV9hZ2dyZWdhdGUgY3JlYXRl X2Z1bmN0aW9uX3NxbCBjcmVhdGVfY2FzdCBjb25zdHJhaW50cyB0cmlnZ2VycyBzZWxlY3QgaW5o ZXJpdCB0eXBlZF90YWJsZSB2YWN1dW0gZHJvcF9pZl9leGlzdHMgdXBkYXRhYmxlX3ZpZXdzIHJv bGVhdHRyaWJ1dGVzIGNyZWF0ZV9hbSBoYXNoX2Z1bmMgZXJyb3JzIGluZmluaXRlX3JlY3Vyc2UK K3Rlc3Q6IGNyZWF0ZV9hZ2dyZWdhdGUgY3JlYXRlX2Z1bmN0aW9uX3NxbCBjcmVhdGVfY2FzdCBj b25zdHJhaW50cyB0cmlnZ2VycyBzZWxlY3QgaW5oZXJpdCB0eXBlZF90YWJsZSB2YWN1dW0gZHJv cF9pZl9leGlzdHMgdXBkYXRhYmxlX3ZpZXdzIHJvbGVhdHRyaWJ1dGVzIGNyZWF0ZV9hbSBoYXNo X2Z1bmMgZXJyb3JzIGluZmluaXRlX3JlY3Vyc2UgZm9yX3BvcnRpb25fb2YKIAogIyAtLS0tLS0t LS0tCiAjIHNhbml0eV9jaGVjayBkb2VzIGEgdmFjdXVtLCBhZmZlY3RpbmcgdGhlIHNvcnQgb3Jk ZXIgb2YgU0VMRUNUICoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0 aW9uX29mLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMGU2YzJkYjVhNzUKLS0tIC9kZXYv bnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKQEAgLTAs MCArMSw5MDUgQEAKKy0tIFRlc3RzIGZvciBVUERBVEUvREVMRVRFIEZPUiBQT1JUSU9OIE9GCisK K1NFVCBkYXRlc3R5bGUgVE8gSVNPLCBZTUQ7CisKKy0tIFdvcmtzIG9uIG5vbi1QSyBjb2x1bW5z CitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQgTk9UIE5VTEwKKyk7CitJTlNFUlQgSU5U TyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sx LDIpJywgJ1syMDE4LTAxLTAyLDIwMjAtMDEtMDEpJywgJ29uZScpOworCitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1 JyBUTyAnMjAxOS0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnOworCitERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMTUnIFRPICcyMDE5LTAxLTIwJzsKKworLS0gV2l0aCBhIHRhYmxlIGFsaWFzIHdpdGggQVMK KworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMi0wMScgVE8gJzIwMTktMDItMDMnIEFTIHQKKyAgU0VUIG5hbWUgPSAnb25l XjInOworCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDItMDMnIFRPICcyMDE5LTAyLTA0JyBBUyB0OworCistLSBX aXRoIGEgdGFibGUgYWxpYXMgd2l0aG91dCBBUworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAyLTA0JyBUTyAnMjAxOS0w Mi0wNScgdAorICBTRVQgbmFtZSA9ICdvbmVeMyc7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wNScgVE8g JzIwMTktMDItMDYnIHQ7CisKKy0tIFVQREFURSB3aXRoIEZST00KKworVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMy0wMScg dG8gJzIwMTktMDMtMDInCisgIFNFVCBuYW1lID0gJ29uZV40JworICBGUk9NIChTRUxFQ1QgJ1sx LDIpJzo6aW50NHJhbmdlKSBBUyB0MihpZCkKKyAgV0hFUkUgZm9yX3BvcnRpb25fb2ZfdGVzdC5p ZCA9IHQyLmlkOworCistLSBERUxFVEUgd2l0aCBVU0lORworCitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDMtMDIn IFRPICcyMDE5LTAzLTAzJworICBVU0lORyAoU0VMRUNUICdbMSwyKSc6OmludDRyYW5nZSkgQVMg dDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9uX29mX3Rlc3QuaWQgPSB0Mi5pZDsKKworU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0g V29ya3Mgb24gbW9yZSB0aGFuIG9uZSByYW5nZQorRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90 ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkMV9hdCBkYXRlcmFuZ2UsCisgIHZhbGlkMl9hdCBkYXRlcmFuZ2UsCisgIG5hbWUg dGV4dCBOT1QgTlVMTAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2 YWxpZDFfYXQsIHZhbGlkMl9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEt MDIsMjAxOC0wMi0wMyknLCAnWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSknLCAnb25lJyk7CisKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkMV9hdCBGUk9N ICcyMDE4LTAxLTE1JyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2Zvbyc7CisgIFNFTEVDVCAqIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQ7 CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkMl9h dCBGUk9NICcyMDE4LTAxLTE1JyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2Jhcic7CisgIFNFTEVD VCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxp ZDJfYXQ7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWQxX2F0IEZST00gJzIwMTgtMDEtMjAnIFRPIE5VTEw7CisgIFNFTEVDVCAqIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQ7CisK K0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWQy X2F0IEZST00gJzIwMTgtMDEtMjAnIFRPIE5VTEw7CisgIFNFTEVDVCAqIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQ7CisKKy0tIFRlc3Qg d2l0aCBOVUxMcyBpbiB0aGUgc2NhbGFyL3JhbmdlIGtleSBjb2x1bW5zLgorLS0gVGhpcyB3b24n dCBoYXBwZW4gaWYgdGhlcmUgaXMgYSBQUklNQVJZIEtFWSBvciBVTklRVUUgY29uc3RyYWludAor LS0gYnV0IEZPUiBQT1JUSU9OIE9GIHNob3VsZG4ndCByZXF1aXJlIHRoYXQuCitEUk9QIFRBQkxF IGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVBVEUgVU5MT0dHRUQgVEFCTEUgZm9yX3BvcnRpb25f b2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1l IHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQs IG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgTlVMTCwgJzEgbnVsbCcpLAorICAoJ1sxLDIpJywg JygsKScsICcxIHVuYm91bmRlZCcpLAorICAoJ1sxLDIpJywgJ2VtcHR5JywgJzEgZW1wdHknKSwK KyAgKE5VTEwsIE5VTEwsIE5VTEwpLAorICAoTlVMTCwgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMTktMDEtMDEnKSwgJ251bGwga2V5Jyk7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gTlVMTAorICBTRVQgbmFtZSA9 ICdOVUxMIHRvIE5VTEwnOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0OworCist LQorLS0gVVBEQVRFIHRlc3RzCistLQorCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVz dCAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVMTCwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlIE5PVCBO VUxMLAorICBuYW1lIHRleHQgTk9UIE5VTEwsCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2Zf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VS VCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisg ICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnb25lJyksCisgICgnWzEsMikn LCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgt MDMtMDMsMjAxOC0wNC0wNCknLCAnb25lJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAx OC0wMS0wNSknLCAndHdvJyksCisgICgnWzMsNCknLCAnWzIwMTgtMDEtMDEsKScsICd0aHJlZScp LAorICAoJ1s0LDUpJywgJygsMjAxOC0wNC0wMSknLCAnZm91cicpLAorICAoJ1s1LDYpJywgJygs KScsICdmaXZlJykKKyAgOworXHNldCBRVUlFVCBmYWxzZQorCistLSBVcGRhdGluZyB3aXRoIGEg bWlzc2luZyBjb2x1bW4gZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIGludmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVMTAorICBTRVQgbmFt ZSA9ICdmb28nCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworLS0gVXBkYXRpbmcgdGhlIHJhbmdl IGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyBOVUxMCisgIFNFVCB2YWxpZF9hdCA9ICdbMTk5MC0w MS0wMSwxOTk5LTAxLTAxKScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCistLSBUaGUgd3Jvbmcg dHlwZSBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAxIFRPIDQKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hFUkUgaWQgPSAn WzMsNCknOworCistLSBVcGRhdGluZyB3aXRoIHRpbWVzdGFtcHMgcmV2ZXJzZWQgZmFpbHMKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDYtMDEnIFRPICcyMDE4LTAxLTAxJworICBTRVQgbmFtZSA9ICd0aHJlZV4xJworICBX SEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVwZGF0aW5nIHdpdGggYSBzdWJxdWVyeSBmYWlscwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAoU0VMRUNUICcyMDE4LTAxLTAxJykgVE8gJzIwMTgtMDYtMDEnCisgIFNFVCBuYW1lID0gJ25v cGUnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gVXBkYXRpbmcgd2l0aCBhIGNvbHVtbiBm YWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSBsb3dlcih2YWxpZF9hdCkgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdub3BlJworICBX SEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVwZGF0aW5nIHdpdGggdGltZXN0YW1wcyBlcXVhbCBk b2VzIG5vdGhpbmcKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA0LTAxJworICBTRVQgbmFtZSA9 ICd0aHJlZV4wJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVwZGF0aW5nIGEgZmluaXRl L29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBU TyBOVUxMCisgIFNFVCBuYW1lID0gJ3RocmVlXjEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKwor LS0gVXBkYXRpbmcgYSBmaW5pdGUvb3BlbiBwb3J0aW9uIHdpdGggYW4gb3Blbi9maW5pdGUgdGFy Z2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NIE5VTEwgVE8gJzIwMTgtMDMtMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjInCisgIFdI RVJFIGlkID0gJ1szLDQpJzsKKworLS0gVXBkYXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3 aXRoIGFuIG9wZW4vZmluaXRlIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAyLTAxJworICBTRVQg bmFtZSA9ICdmb3VyXjEnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsKKworLS0gVXBkYXRpbmcgYW4g b3Blbi9maW5pdGUgcG9ydGlvbiB3aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE3LTAx LTAxJyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2ZvdXJeMicKKyAgV0hFUkUgaWQgPSAnWzQsNSkn OworCistLSBVcGRhdGluZyBhIGZpbml0ZS9maW5pdGUgcG9ydGlvbiB3aXRoIGFuIGV4YWN0IGZp dAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxNy0wMS0wMScgVE8gJzIwMTgtMDItMDEnCisgIFNFVCBuYW1lID0gJ2ZvdXJeMycK KyAgV0hFUkUgaWQgPSAnWzQsNSknOworCistLSBVcGRhdGluZyBhbiBlbmNsb3NlZCBzcGFuCitV UERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N IE5VTEwgVE8gTlVMTAorICBTRVQgbmFtZSA9ICd0d29eMicKKyAgV0hFUkUgaWQgPSAnWzIsMykn OworCistLSBVcGRhdGluZyBhbiBvcGVuL29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL2Zpbml0 ZSB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDEtMDEnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICdm aXZlXjEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworLS0gVXBkYXRpbmcgYW4gZW5jbG9zZWQg c3BhbiB3aXRoIHNlcGFyYXRlIHByb3RydWRpbmcgc3BhbnMKK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRPICcy MDIwLTAxLTAxJworICBTRVQgbmFtZSA9ICdmaXZlXjInCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsK KworLS0gVXBkYXRpbmcgbXVsdGlwbGUgZW5jbG9zZWQgc3BhbnMKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisg IFNFVCBuYW1lID0gJ29uZV4yJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKKy0tIFVwZGF0aW5n IHdpdGggYSBkaXJlY3QgdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJhbmdlKCcyMDE4LTAzLTEwJywgJzIwMTgtMDMtMTcn KSkKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gVXBk YXRpbmcgdGhlIG5vbi1yYW5nZSBwYXJ0IG9mIHRoZSBQSzoKK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMTUnIFRPIE5V TEwKKyAgU0VUIGlkID0gJ1s2LDcpJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKKy0tIFVQREFU RSB3aXRoIG5vIFdIRVJFIGNsYXVzZQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAzMC0wMS0wMScgVE8gTlVMTAorICBTRVQgbmFt ZSA9IG5hbWUgfHwgJyonOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworXHNldCBRVUlFVCB0cnVlCisKKy0tIFVwZGF0aW5nIHdpdGgg YSBzaGlmdC9yZWR1Y2UgY29uZmxpY3QKKy0tIChyZXF1aXJlcyBhIHRzcmFuZ2UgY29sdW1uKQor Q1JFQVRFIFVOTE9HR0VEIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9hdCB0c3JhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBm b3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwy KScsICdbMjAwMC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKTsKKy0tIHVwZGF0ZXMgWzIwMTEt MDMtMDEgMDE6MDI6MDAsIDIwMTItMDEtMDEpIChub3RlIDIgbWludXRlcykKK1VQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdAorICAgIEZST00gJzIw MTEtMDMtMDEnOjp0aW1lc3RhbXAgKyBJTlRFUlZBTCAnMTowMjowMycgSE9VUiBUTyBNSU5VVEUK KyAgICBUTyAnMjAxMi0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworLS0gVE8gaXMgdXNlZCBmb3IgdGhlIGJvdW5kIGJ1dCBub3QgdGhlIElOVEVS VkFMOgorLS0gc3ludGF4IGVycm9yCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQKKyAgICBGUk9NICcyMDEzLTAzLTAxJzo6dGltZXN0YW1wICsg SU5URVJWQUwgJzE6MDI6MDMnIEhPVVIKKyAgICBUTyAnMjAxNC0wMS0wMScKKyAgU0VUIG5hbWUg PSAnb25lXjInCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gYWRkaW5nIHBhcmVucyBmaXhl cyBpdAorLS0gdXBkYXRlcyBbMjAxNS0wMy0wMSAwMTowMDowMCwgMjAxNi0wMS0wMSkgKG5vIG1p bnV0ZXMpCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQKKyAgICBGUk9NICgnMjAxNS0wMy0wMSc6OnRpbWVzdGFtcCArIElOVEVSVkFMICcxOjAy OjAzJyBIT1VSKQorICAgIFRPICcyMDE2LTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMycKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Qy IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7 CisKKy0tIFVQREFURSBGT1IgUE9SVElPTiBPRiBpbiBhIENURToKKworLS0gVmlzaWJsZSB0byBT RUxFQ1Q6CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5h bWUpIFZBTFVFUworICAoJ1sxMCwxMSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGVu Jyk7CitXSVRIIHVwZGF0ZV9hcHIgQVMgKAorICBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA1 LTAxJworICAgIFNFVCBuYW1lID0gJ0FwciAyMDE4JworICAgIFdIRVJFIGlkID0gJ1sxMCwxMSkn CisgICAgUkVUVVJOSU5HIGlkLCB2YWxpZF9hdCwgbmFtZQorKQorU0VMRUNUICoKKyAgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0IEFTIHQsIHVwZGF0ZV9hcHIKKyAgV0hFUkUgdC5pZCA9IHVwZGF0 ZV9hcHIuaWQ7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAn WzEwLDExKSc7CisKKy0tIE5vdCB2aXNpYmxlIHRvIFVQREFURToKKy0tIFR1cGxlcyB1cGRhdGVk L2luc2VydGVkIHdpdGhpbiB0aGUgQ1RFIGFyZSBub3QgdmlzaWJsZSB0byB0aGUgbWFpbiBxdWVy eSB5ZXQsCistLSBidXQgbmVpdGhlciBhcmUgb2xkIHR1cGxlcyB0aGUgQ1RFIGNoYW5nZWQ6CitJ TlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVF UworICAoJ1sxMSwxMiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnZWxldmVuJyk7CitX SVRIIHVwZGF0ZV9hcHIgQVMgKAorICBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICAgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA1LTAxJwor ICAgIFNFVCBuYW1lID0gJ0FwciAyMDE4JworICAgIFdIRVJFIGlkID0gJ1sxMSwxMiknCisgICAg UkVUVVJOSU5HIGlkLCB2YWxpZF9hdCwgbmFtZQorKQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgt MDYtMDEnCisgIEFTIHQKKyAgU0VUIG5hbWUgPSAnTWF5IDIwMTgnCisgIEZST00gdXBkYXRlX2Fw ciBBUyBqCisgIFdIRVJFIHQuaWQgPSBqLmlkOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0IFdIRVJFIGlkID0gJ1sxMSwxMiknOworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdCBXSEVSRSBpZCBJTiAoJ1sxMCwxMSknLCAnWzExLDEyKScpOworCistLSBVUERBVEUgRk9S IFBPUlRJT04gT0YgaW4gYSBQTC9wZ1NRTCBmdW5jdGlvbgorSU5TRVJUIElOVE8gZm9yX3BvcnRp b25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMTAsMTEpJywgJ1sy MDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ3RlbicpOworQ1JFQVRFIEZVTkNUSU9OIGZwb191cGRh dGUoX2lkIGludDRyYW5nZSwgX3RhcmdldF9mcm9tIGRhdGUsIF90YXJnZXRfdGlsIGRhdGUpCitS RVRVUk5TIHZvaWQgTEFOR1VBR0UgcGxwZ3NxbCBBUworJCQKK0JFR0lOCisgIFVQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAkMiBUTyAk MworICAgIFNFVCBuYW1lID0gY29uY2F0KF90YXJnZXRfZnJvbTo6dGV4dCwgJyB0byAnLCBfdGFy Z2V0X3RpbDo6dGV4dCkKKyAgICBXSEVSRSBpZCA9ICQxOworRU5EOworJCQ7CitTRUxFQ1QgZnBv X3VwZGF0ZSgnWzEwLDExKScsICcyMDE1LTAxLTAxJywgJzIwMTktMDEtMDEnKTsKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMTAsMTEpJzsKKworRFJPUCBU QUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0OworCistLQorLS0gREVMRVRFIHRlc3RzCistLQorCitD UkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVM TCwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlIE5PVCBOVUxMLAorICBuYW1lIHRleHQgTk9UIE5VTEws CisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3Qg KGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAx OC0wMi0wMyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMykn LCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCknLCAnb25lJyks CisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSknLCAndHdvJyksCisgICgnWzMs NCknLCAnWzIwMTgtMDEtMDEsKScsICd0aHJlZScpLAorICAoJ1s0LDUpJywgJygsMjAxOC0wNC0w MSknLCAnZm91cicpLAorICAoJ1s1LDYpJywgJygsKScsICdmaXZlJyksCisgICgnWzYsNyknLCAn WzIwMTgtMDEtMDEsKScsICdzaXgnKSwKKyAgKCdbNyw4KScsICcoLDIwMTgtMDQtMDEpJywgJ3Nl dmVuJyksCisgICgnWzgsOSknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnZWlnaHQnKSwK KyAgKCdbOCw5KScsICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScsICdlaWdodCcpLAorICAoJ1s4 LDkpJywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJywgJ2VpZ2h0JykKKyAgOworXHNldCBRVUlF VCBmYWxzZQorCistLSBEZWxldGluZyB3aXRoIGEgbWlzc2luZyBjb2x1bW4gZmFpbHMKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgaW52YWxpZF9hdCBG Uk9NICcyMDE4LTA2LTAxJyBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworLS0gVGhl IHdyb25nIHR5cGUgZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAxIFRPIDQKKyAgV0hFUkUgaWQgPSAnWzMsNCknOwor CistLSBEZWxldGluZyB3aXRoIHRpbWVzdGFtcHMgcmV2ZXJzZWQgZmFpbHMKK0RFTEVURSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OC0wNi0wMScgVE8gJzIwMTgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gRGVs ZXRpbmcgd2l0aCBhIHN1YnF1ZXJ5IGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gKFNFTEVDVCAnMjAxOC0wMS0wMScp IFRPICcyMDE4LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0aW5nIHdp dGggYSBjb2x1bW4gZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBsb3dlcih2YWxpZF9hdCkgVE8gTlVMTAorICBXSEVS RSBpZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0aW5nIHdpdGggdGltZXN0YW1wcyBlcXVhbCBkb2Vz IG5vdGhpbmcKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8gJzIwMTgtMDQtMDEnCisgIFdIRVJFIGlk ID0gJ1szLDQpJzsKKworLS0gRGVsZXRpbmcgYSBmaW5pdGUvb3BlbiBwb3J0aW9uIHdpdGggYSBm aW5pdGUvb3BlbiB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVMTAorICBXSEVSRSBp ZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0aW5nIGEgZmluaXRlL29wZW4gcG9ydGlvbiB3aXRoIGFu IG9wZW4vZmluaXRlIHRhcmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDMtMDEnCisgIFdIRVJF IGlkID0gJ1s2LDcpJzsKKworLS0gRGVsZXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRo IGFuIG9wZW4vZmluaXRlIHRhcmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDItMDEnCisgIFdI RVJFIGlkID0gJ1s0LDUpJzsKKworLS0gRGVsZXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3 aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0 CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRPIE5VTEwKKyAg V0hFUkUgaWQgPSAnWzcsOCknOworCistLSBEZWxldGluZyBhIGZpbml0ZS9maW5pdGUgcG9ydGlv biB3aXRoIGFuIGV4YWN0IGZpdAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAyLTAxJyBUTyAnMjAxOC0wNC0wMScK KyAgV0hFUkUgaWQgPSAnWzQsNSknOworCistLSBEZWxldGluZyBhbiBlbmNsb3NlZCBzcGFuCitE RUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gTlVMTCBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKKworLS0gRGVsZXRpbmcg YW4gb3Blbi9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9maW5pdGUgdGFyZ2V0CitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDEtMDEnIFRPICcyMDE5LTAxLTAxJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CisKKy0t IERlbGV0aW5nIGFuIGVuY2xvc2VkIHNwYW4gd2l0aCBzZXBhcmF0ZSBwcm90cnVkaW5nIHNwYW5z CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDItMDMnIFRPICcyMDE4LTAzLTAzJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKKy0tIERlbGV0aW5nIG11bHRpcGxlIGVuY2xvc2VkIHNwYW5zCitERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBU TyBOVUxMCisgIFdIRVJFIGlkID0gJ1s4LDkpJzsKKworLS0gRGVsZXRpbmcgd2l0aCBhIGRpcmVj dCB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKGRhdGVyYW5nZSgnMjAxOC0wMy0xMCcsICcyMDE4LTAzLTE3JykpCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworLS0gREVMRVRFIHdpdGggbm8gV0hFUkUgY2xhdXNlCitERUxF VEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMzAtMDEtMDEnIFRPIE5VTEw7CisKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citcc2V0IFFVSUVUIHRydWUKKworLS0gVVBEQVRF IC4uLiBSRVRVUk5JTkcgcmV0dXJucyBvbmx5IHRoZSB1cGRhdGVkIHZhbHVlcyAobm90IHRoZSBp bnNlcnRlZCBzaWRlIHZhbHVlcykKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMDEnIFRPICcyMDE4LTAyLTE1JworICBT RVQgbmFtZSA9ICd0aHJlZV4zJworICBXSEVSRSBpZCA9ICdbMyw0KScKKyAgUkVUVVJOSU5HICo7 CisKKy0tIERFTEVURSAuLi4gUkVUVVJOSU5HIHJldHVybnMgdGhlIGRlbGV0ZWQgdmFsdWVzIChy ZWdhcmRsZXNzIG9mIGJvdW5kcykKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMicgVE8gJzIwMTgtMDItMDMn CisgIFdIRVJFIGlkID0gJ1szLDQpJworICBSRVRVUk5JTkcgKjsKKworLS0gREVMRVRFIEZPUiBQ T1JUSU9OIE9GIGluIGEgUEwvcGdTUUwgZnVuY3Rpb24KK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9u X29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEwLDExKScsICdbMjAx OC0wMS0wMSwyMDIwLTAxLTAxKScsICd0ZW4nKTsKK0NSRUFURSBGVU5DVElPTiBmcG9fZGVsZXRl KF9pZCBpbnQ0cmFuZ2UsIF90YXJnZXRfZnJvbSBkYXRlLCBfdGFyZ2V0X3RpbCBkYXRlKQorUkVU VVJOUyB2b2lkIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAkMiBU TyAkMworICAgIFdIRVJFIGlkID0gJDE7CitFTkQ7CiskJDsKK1NFTEVDVCBmcG9fZGVsZXRlKCdb MTAsMTEpJywgJzIwMTUtMDEtMDEnLCAnMjAxOS0wMS0wMScpOworU0VMRUNUICogRlJPTSBmb3Jf cG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdCBXSEVSRSBpZCBJTiAoJ1sxMCwxMSknKTsKKworCistLSB0ZXN0IHRoYXQg d2UgcnVuIHRyaWdnZXJzIG9uIHRoZSBVUERBVEUvREVMRVRFZCByb3cgYW5kIHRoZSBJTlNFUlRl ZCByb3dzCisKK0NSRUFURSBGVU5DVElPTiBkdW1wX3RyaWdnZXIoKQorUkVUVVJOUyBUUklHR0VS IExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSAl OicsCisgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworCisgIElGIFRHX0FS R1ZbMF0gVEhFTgorICAgIFJBSVNFIE5PVElDRSAnICBvbGQ6ICUnLCAoU0VMRUNUIHN0cmluZ19h Z2cob2xkX3RhYmxlOjp0ZXh0LCAnXG4gICAgICAgJykgRlJPTSBvbGRfdGFibGUpOworICBFTFNF CisgICAgUkFJU0UgTk9USUNFICcgIG9sZDogJScsIE9MRC52YWxpZF9hdDsKKyAgRU5EIElGOwor ICBJRiBUR19BUkdWWzFdIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJyAgbmV3OiAlJywgKFNFTEVD VCBzdHJpbmdfYWdnKG5ld190YWJsZTo6dGV4dCwgJ1xuICAgICAgICcpIEZST00gbmV3X3RhYmxl KTsKKyAgRUxTRQorICAgIFJBSVNFIE5PVElDRSAnICBuZXc6ICUnLCBORVcudmFsaWRfYXQ7Cisg IEVORCBJRjsKKworICBJRiBUR19PUCA9ICdJTlNFUlQnIE9SIFRHX09QID0gJ1VQREFURScgVEhF TgorICAgIFJFVFVSTiBORVc7CisgIEVMU0lGIFRHX09QID0gJ0RFTEVURScgVEhFTgorICAgIFJF VFVSTiBPTEQ7CisgIEVORCBJRjsKK0VORDsKKyQkOworCistLSBzdGF0ZW1lbnQgdHJpZ2dlcnM6 CisKK0NSRUFURSBUUklHR0VSIGZwb19iZWZvcmVfc3RtdAorQkVGT1JFIElOU0VSVCBPUiBVUERB VEUgT1IgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBF WEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRS SUdHRVIgZnBvX2FmdGVyX2luc2VydF9zdG10CitBRlRFUiBJTlNFUlQgT04gZm9yX3BvcnRpb25f b2ZfdGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dl cihmYWxzZSwgZmFsc2UpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQK K0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBTVEFURU1FTlQg RVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBU UklHR0VSIGZwb19hZnRlcl9kZWxldGVfc3RtdAorQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9u X29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdn ZXIoZmFsc2UsIGZhbHNlKTsKKworLS0gcm93IHRyaWdnZXJzOgorCitDUkVBVEUgVFJJR0dFUiBm cG9fYmVmb3JlX3JvdworQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVMRVRFIE9OIGZvcl9w b3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdn ZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2luc2VydF9yb3cK K0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VU RSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBUUklHR0VS IGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFs c2UpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdworQUZURVIgREVMRVRF IE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBk dW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIxLTAxLTAxJyBUTyAnMjAyMi0w MS0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4zJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CisKK0RF TEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyMy0wMS0wMScgVE8gJzIwMjQtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsK KworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKworLS0gVHJpZ2dlcnMgd2l0aCBhIGN1c3RvbSB0cmFuc2l0aW9uIHRhYmxlIG5hbWU6CisK K0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlv bl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5h bWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgVkFMVUVTICgnWzEs MiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnb25lJyk7CisKKy0tIHN0YXRlbWVudCB0 cmlnZ2VyczoKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9zdG10CitCRUZPUkUgSU5TRVJU IE9SIFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggU1RB VEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworCitD UkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQKK0FGVEVSIElOU0VSVCBPTiBmb3Jf cG9ydGlvbl9vZl90ZXN0CitSRUZFUkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitGT1Ig RUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCB0cnVl KTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9zdG10CitBRlRFUiBVUERBVEUg T04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgTkVXIFRBQkxFIEFTIG5ld190YWJs ZSBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKHRydWUsIHRydWUpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0 ZXJfZGVsZXRlX3N0bXQKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZF UkVOQ0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VU RSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKHRydWUsIGZhbHNlKTsKKworLS0gcm93IHRyaWdnZXJz OgorCitDUkVBVEUgVFJJR0dFUiBmcG9fYmVmb3JlX3JvdworQkVGT1JFIElOU0VSVCBPUiBVUERB VEUgT1IgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRF IFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIg ZnBvX2FmdGVyX2luc2VydF9yb3cKK0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0 CitSRUZFUkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitGT1IgRUFDSCBST1cgRVhFQ1VU RSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCB0cnVlKTsKKworQ1JFQVRFIFRSSUdHRVIg ZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0 CitSRUZFUkVOQ0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlIE5FVyBUQUJMRSBBUyBuZXdfdGFi bGUKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwgdHJ1 ZSk7CisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUg T04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgT0xEIFRBQkxFIEFTIG9sZF90YWJs ZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcih0cnVlLCBmYWxz ZSk7CisKK0JFR0lOOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCisgIFNFVCBuYW1l ID0gJzIwMTgtMDEtMTVfdG9fMjAxOS0wMS0wMSc7CitST0xMQkFDSzsKKworQkVHSU47CitERUxF VEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gTlVMTCBUTyAnMjAxOC0wMS0yMSc7CitST0xMQkFDSzsKKworQkVHSU47CitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8g JzIwMTgtMDEtMDInCisgIFNFVCBuYW1lID0gJ05VTExfdG9fMjAxOC0wMS0wMSc7CitST0xMQkFD SzsKKworLS0gRGVmZXJyZWQgdHJpZ2dlcnMKKy0tIChtdXN0IGJlIENPTlNUUkFJTlQgdHJpZ2dl cnMgdGh1cyBBRlRFUiBST1cgd2l0aCBubyB0cmFuc2l0aW9uIHRhYmxlcykKKworRFJPUCBUQUJM RSBmb3JfcG9ydGlvbl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Qg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0Cisp OworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBW QUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKTsKKwor Q1JFQVRFIENPTlNUUkFJTlQgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdworQUZURVIgSU5T RVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0RFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVE CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxz ZSk7CisKK0NSRUFURSBDT05TVFJBSU5UIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FG VEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitERUZFUlJBQkxFIElOSVRJQUxMWSBE RUZFUlJFRAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxz ZSwgZmFsc2UpOworCitDUkVBVEUgQ09OU1RSQUlOVCBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVf cm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorREVGRVJSQUJMRSBJTklU SUFMTFkgREVGRVJSRUQKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdn ZXIoZmFsc2UsIGZhbHNlKTsKKworQkVHSU47CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAxOS0wMS0w MScKKyAgU0VUIG5hbWUgPSAnMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxJzsKK0NPTU1JVDsKKwor QkVHSU47CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0yMSc7CitDT01NSVQ7CisKK0JFR0lOOwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSBOVUxMIFRPICcyMDE4LTAxLTAyJworICBTRVQgbmFtZSA9ICdOVUxMX3RvXzIwMTgtMDEtMDEn OworQ09NTUlUOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tIHRl c3QgRk9SIFBPUlRJT04gT0YgZnJvbSB0cmlnZ2VycyBkdXJpbmcgRk9SIFBPUlRJT04gT0Y6CisK K0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlv bl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5h bWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9h dCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAn b25lJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndHdvJyksCisg ICgnWzMsNCknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGhyZWUnKSwKKyAgKCdbNCw1 KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdmb3VyJyk7CisKK0NSRUFURSBGVU5DVElP TiB0cmdfZnBvX3VwZGF0ZSgpCitSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0UgcGxwZ3NxbCBBUwor JCQKK0JFR0lOCisgIElGIHBnX3RyaWdnZXJfZGVwdGgoKSA9IDEgVEhFTgorICAgIFVQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgICAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE4LTAyLTAxJyBUTyAnMjAxOC0wMy0wMScKKyAgICAgIFNFVCBuYW1lID0gQ09OQ0FUKG5hbWUs ICdeJykKKyAgICAgIFdIRVJFIGlkID0gT0xELmlkOworICBFTkQgSUY7CisgIFJFVFVSTiBDQVNF IFdIRU4gJ1RHX09QJyA9ICdERUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVORDsKK0VORDsKKyQk OworCitDUkVBVEUgRlVOQ1RJT04gdHJnX2Zwb19kZWxldGUoKQorUkVUVVJOUyBUUklHR0VSIExB TkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBJRiBwZ190cmlnZ2VyX2RlcHRoKCkgPSAx IFRIRU4KKyAgICBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAzLTAxJyBUTyAnMjAxOC0wNC0wMScKKyAgICAg IFdIRVJFIGlkID0gT0xELmlkOworICBFTkQgSUY7CisgIFJFVFVSTiBDQVNFIFdIRU4gJ1RHX09Q JyA9ICdERUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVORDsKK0VORDsKKyQkOworCistLSBVUERB VEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIgZmlyZWQgYnkgVVBEQVRFIEZPUiBQT1JU SU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERB VEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJF IHRyZ19mcG9fdXBkYXRlKCk7CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBT RVQgbmFtZSA9IENPTkNBVChuYW1lLCAnKicpCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxLDIpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdyBPTiBm b3JfcG9ydGlvbl9vZl90ZXN0OworCistLSBVUERBVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRy aWdnZXIgZmlyZWQgYnkgREVMRVRFIEZPUiBQT1JUSU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZw b19hZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAor Rk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fdXBkYXRlKCk7CisKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKKwor U0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1syLDMpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdyBP TiBmb3JfcG9ydGlvbl9vZl90ZXN0OworCistLSBERUxFVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBh IHRyaWdnZXIgZmlyZWQgYnkgVVBEQVRFIEZPUiBQT1JUSU9OIE9GCisKK0NSRUFURSBUUklHR0VS IGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fZGVsZXRlKCk7CisKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBTRVQgbmFtZSA9IENPTkNBVChuYW1lLCAn KicpCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0IFdIRVJFIGlkID0gJ1szLDQpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1Ag VFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworCist LSBERUxFVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIgZmlyZWQgYnkgREVMRVRFIEZP UiBQT1JUSU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitBRlRF UiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJP Q0VEVVJFIHRyZ19mcG9fZGVsZXRlKCk7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgt MDYtMDEnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s0LDUpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RS T1AgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0Owor CistLSBUZXN0IHdpdGggbXVsdGlyYW5nZXMKKworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29m X3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBkYXRlbXVsdGly YW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMLAorICBDT05TVFJBSU5UIGZvcl9w b3J0aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0 LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMicsICcyMDE4LTAyLTAzKScpLCBkYXRlcmFuZ2UoJzIwMTgtMDItMDQnLCAnMjAxOC0w My0wMycpKSwgJ29uZScpLAorICAoJ1sxLDIpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAzLTAzJywgJzIwMTgtMDQtMDQpJykpLCAnb25lJyksCisgICgnWzIsMyknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wNS0wMSknKSksICd0d28nKSwK KyAgKCdbMyw0KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsIG51bGwp KSwgJ3RocmVlJyk7CisgIDsKKworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMTAn LCAnMjAxOC0wMi0xMCcpLCBkYXRlcmFuZ2UoJzIwMTgtMDMtMDUnLCAnMjAxOC0wNS0wMScpKSkK KyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0xNScsICcyMDE4LTAyLTE1JyksIGRhdGVyYW5n ZSgnMjAxOC0wMy0wMScsICcyMDE4LTAzLTE1JykpKQorICBXSEVSRSBpZCA9ICdbMiwzKSc7CisK K1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOworCistLSBUZXN0IHdpdGggYSBj dXN0b20gcmFuZ2UgdHlwZQorCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0 eXBlPWRhdGUpOworCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIgKAorICBpZCBp bnQ0cmFuZ2UgTk9UIE5VTEwsCisgIHZhbGlkX2F0IG15ZGF0ZXJhbmdlIE5PVCBOVUxMLAorICBu YW1lIHRleHQgTk9UIE5VTEwsCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfdGVzdDJfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJ TlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAo J1sxLDIpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJywgJ29uZScpLAorICAoJ1sxLDIpJywg J1syMDE4LTAyLTAzLDIwMTgtMDMtMDMpJywgJ29uZScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAz LTAzLDIwMTgtMDQtMDQpJywgJ29uZScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAxLTAxLDIwMTgt MDUtMDEpJywgJ3R3bycpLAorICAoJ1szLDQpJywgJ1syMDE4LTAxLTAxLCknLCAndGhyZWUnKTsK KyAgOworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8gJzIwMTgtMDItMTAnCisgIFNFVCBuYW1lID0gJ29u ZV4xJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29m X3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcy MDE4LTAyLTE1JworICBXSEVSRSBpZCA9ICdbMiwzKSc7CisKK1NFTEVDVCAqIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCitEUk9QIFRBQkxFIGZvcl9w b3J0aW9uX29mX3Rlc3QyOworRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOworCistLSBUZXN0IEZPUiBQ T1JUSU9OIE9GIGFnYWluc3QgYSBwYXJ0aXRpb25lZCB0YWJsZS4KKy0tIHRlbXBvcmFsX3BhcnRp dGlvbmVkXzEgaGFzIHRoZSBzYW1lIGF0dG51bXMgYXMgdGhlIHJvb3QKKy0tIHRlbXBvcmFsX3Bh cnRpdGlvbmVkXzMgaGFzIHRoZSBkaWZmZXJlbnQgYXR0bnVtcyBmcm9tIHRoZSByb290CistLSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF81IGhhcyB0aGUgZGlmZmVyZW50IGF0dG51bXMgdG9vLCBidXQg cmV2ZXJzZWQKKworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4dCwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpCispIFBBUlRJVElPTiBCWSBMSVNUIChpZCk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFZBTFVF UyBJTiAoJ1sxLDIpJywgJ1syLDMpJyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9u ZWRfMyBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFZBTFVFUyBJTiAoJ1sz LDQpJywgJ1s0LDUpJyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfNSBQQVJU SVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFZBTFVFUyBJTiAoJ1s1LDYpJywgJ1s2 LDcpJyk7CisKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIERFVEFDSCBQQVJUSVRJ T04gdGVtcG9yYWxfcGFydGl0aW9uZWRfMzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlv bmVkXzMgRFJPUCBDT0xVTU4gaWQsIERST1AgQ09MVU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfMyBBREQgQ09MVU1OIGlkIGludDRyYW5nZSBOT1QgTlVMTCwg QUREIENPTFVNTiB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZCBBVFRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzMg Rk9SIFZBTFVFUyBJTiAoJ1szLDQpJywgJ1s0LDUpJyk7CisKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X3BhcnRpdGlvbmVkIERFVEFDSCBQQVJUSVRJT04gdGVtcG9yYWxfcGFydGl0aW9uZWRfNTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgRFJPUCBDT0xVTU4gaWQsIERST1AgQ09M VU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfNSBBREQgQ09M VU1OIHZhbGlkX2F0IGRhdGVyYW5nZSBOT1QgTlVMTCwgQUREIENPTFVNTiBpZCBpbnQ0cmFuZ2Ug Tk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBBVFRBQ0ggUEFSVElU SU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgRk9SIFZBTFVFUyBJTiAoJ1s1LDYpJywgJ1s2LDcp Jyk7CisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkIChpZCwgdmFsaWRfYXQsIG5h bWUpIFZBTFVFUworICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEt MDEnKSwgJ29uZScpLAorICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAt MDEtMDEnKSwgJ3RocmVlJyksCisgICgnWzUsNiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAn MjAxMC0wMS0wMScpLCAnZml2ZScpOworCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkOworCistLSBVcGRhdGUgd2l0aG91dCBtb3Zpbmcgd2l0aGluIHBhcnRpdGlvbiAxCitVUERB VEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAw MC0wMy0wMScgVE8gJzIwMDAtMDQtMDEnCisgIFNFVCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9u IDMKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDAwLTAzLTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAndGhyZWVeMScK KyAgV0hFUkUgaWQgPSAnWzMsNCknOworCistLSBVcGRhdGUgd2l0aG91dCBtb3Zpbmcgd2l0aGlu IHBhcnRpdGlvbiA1CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAwMC0wMy0wMScgVE8gJzIwMDAtMDQtMDEnCisgIFNFVCBuYW1lID0g J2ZpdmVeMScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCistLSBNb3ZlIGZyb20gcGFydGl0aW9u IDEgdG8gcGFydGl0aW9uIDMKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA2LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5h bWUgPSAnb25lXjInLAorICAgICAgaWQgPSAnWzQsNSknCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK KworLS0gTW92ZSBmcm9tIHBhcnRpdGlvbiAzIHRvIHBhcnRpdGlvbiAxCitVUERBVEUgdGVtcG9y YWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wNi0wMScg VE8gJzIwMDAtMDctMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjInLAorICAgICAgaWQgPSAnWzIs MyknCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gTW92ZSBmcm9tIHBhcnRpdGlvbiA1IHRv IHBhcnRpdGlvbiAzCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAwMC0wNi0wMScgVE8gJzIwMDAtMDctMDEnCisgIFNFVCBuYW1lID0g J2ZpdmVeMicsCisgICAgICBpZCA9ICdbMyw0KScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCist LSBVcGRhdGUgYWxsIHBhcnRpdGlvbnMgYXQgb25jZSAoZWFjaCB3aXRoIGxlZnRvdmVycykKKwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzEgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfNSBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQ7CisKK1JFU0VU IGRhdGVzdHlsZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMu c3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwKaW5kZXggOTZlZmYxMTA0 ZDIuLmFlNTdmMjMzMzE0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxl Z2VzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbApAQCAtNzY1 LDYgKzc2NSwyNCBAQCBVUERBVEUgZXJydHN0IFNFVCBhID0gJ2FhYWEnLCBiID0gTlVMTCBXSEVS RSBhID0gJ2FhYSc7CiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2Vy MTsKIERST1AgVEFCTEUgZXJydHN0OwogCistLSB0ZXN0IGNvbHVtbi1sZXZlbCBwcml2aWxlZ2Vz IG9uIHRoZSByYW5nZSB1c2VkIGluIEZPUiBQT1JUSU9OIE9GCitTRVQgU0VTU0lPTiBBVVRIT1JJ WkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKK0NSRUFURSBUQUJMRSB0MSAoCisgIGMxIGludDRy YW5nZSwKKyAgdmFsaWRfYXQgdHNyYW5nZSwKKwlDT05TVFJBSU5UIHQxcGsgUFJJTUFSWSBLRVkg KGMxLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0dSQU5UIFNFTEVDVCBPTiB0MSBU TyByZWdyZXNzX3ByaXZfdXNlcjI7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2 X3VzZXIzOworR1JBTlQgVVBEQVRFIChjMSkgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIyOwor R1JBTlQgVVBEQVRFIChjMSwgdmFsaWRfYXQpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMzsK K1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIyOworVVBEQVRFIHQx IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTAx JyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3By aXZfdXNlcjM7CitVUERBVEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0w MS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CitTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKK0RST1AgVEFCTEUgdDE7CisKIC0tIHRlc3Qg Y29sdW1uLWxldmVsIHByaXZpbGVnZXMgd2hlbiBpbnZvbHZlZCB3aXRoIERFTEVURQogU0VUIFNF U1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CiBBTFRFUiBUQUJMRSBhdGVz dDYgQUREIENPTFVNTiB0aHJlZSBpbnRlZ2VyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvdXBkYXRhYmxlX3ZpZXdzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0YWJs ZV92aWV3cy5zcWwKaW5kZXggYzA3MWZmZmMxMTYuLmU4YzA0ZTNhZDkxIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC91cGRhdGFibGVfdmlld3Muc3FsCisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3VwZGF0YWJsZV92aWV3cy5zcWwKQEAgLTE4ODEsNiArMTg4MSwyMCBAQCBzZWxl Y3QgKiBmcm9tIHV2X2lvY3VfdGFiOwogZHJvcCB2aWV3IHV2X2lvY3VfdmlldzsKIGRyb3AgdGFi bGUgdXZfaW9jdV90YWI7CiAKKy0tIENoZWNrIFVQREFURSBGT1IgUE9SVElPTiBPRiB3b3JrcyBj b3JyZWN0bHkKK2NyZWF0ZSB0YWJsZSB1dl9mcG9fdGFiIChpZCBpbnQ0cmFuZ2UsIHZhbGlkX2F0 IHRzcmFuZ2UsIGIgZmxvYXQsCisgICAgY29uc3RyYWludCBwa191dl9mcG9fdGFiIHByaW1hcnkg a2V5IChpZCwgdmFsaWRfYXQgd2l0aG91dCBvdmVybGFwcykpOworaW5zZXJ0IGludG8gdXZfZnBv X3RhYiB2YWx1ZXMgKCdbMSwxXScsICdbMjAyMC0wMS0wMSwgMjAzMC0wMS0wMSknLCAwKTsKK2Ny ZWF0ZSB2aWV3IHV2X2Zwb192aWV3IGFzCisgICAgc2VsZWN0IGIsIGIrMSBhcyBjLCB2YWxpZF9h dCwgaWQsICcyLjAnOjp0ZXh0IGFzIHR3byBmcm9tIHV2X2Zwb190YWI7CisKK2luc2VydCBpbnRv IHV2X2Zwb192aWV3IChpZCwgdmFsaWRfYXQsIGIpIHZhbHVlcyAoJ1sxLDFdJywgJ1syMDEwLTAx LTAxLCAyMDIwLTAxLTAxKScsIDEpOworc2VsZWN0ICogZnJvbSB1dl9mcG9fdmlldzsKK3VwZGF0 ZSB1dl9mcG9fdmlldyBmb3IgcG9ydGlvbiBvZiB2YWxpZF9hdCBmcm9tICcyMDE1LTAxLTAxJyB0 byAnMjAyMC0wMS0wMScgc2V0IGIgPSAyIHdoZXJlIGlkID0gJ1sxLDFdJzsKK3NlbGVjdCAqIGZy b20gdXZfZnBvX3ZpZXc7CitkZWxldGUgZnJvbSB1dl9mcG9fdmlldyBmb3IgcG9ydGlvbiBvZiB2 YWxpZF9hdCBmcm9tICcyMDE3LTAxLTAxJyB0byAnMjAyMi0wMS0wMScgd2hlcmUgaWQgPSAnWzEs MV0nOworc2VsZWN0ICogZnJvbSB1dl9mcG9fdmlldzsKKwogLS0gVGVzdCB3aG9sZS1yb3cgcmVm ZXJlbmNlcyB0byB0aGUgdmlldwogY3JlYXRlIHRhYmxlIHV2X2lvY3VfdGFiIChhIGludCB1bmlx dWUsIGIgdGV4dCk7CiBjcmVhdGUgdmlldyB1dl9pb2N1X3ZpZXcgYXMKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwKaW5kZXggNGFhY2EyNDJiYmUuLmM1Yzg5ZmU0MGFi IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbApAQCAtMiw3ICsy LDcgQEAKIC0tCiAtLSBXZSBsZWF2ZSBiZWhpbmQgc2V2ZXJhbCB0YWJsZXMgdG8gdGVzdCBwZ19k dW1wIGV0YzoKIC0tIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfcm5nMiwKLS0tIHRlbXBvcmFsX2Zr X3JuZzJybmcuCistLSB0ZW1wb3JhbF9ma19ybmcycm5nLCB0ZW1wb3JhbF9mazJfcm5nMnJuZy4K IAogU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsKIApAQCAtNjMyLDYgKzYzMiwyMCBAQCBJTlNF UlQgSU5UTyB0ZW1wb3JhbDMgKGlkLCB2YWxpZF9hdCwgaWQyLCBuYW1lKQogICAoJ1sxLDIpJywg ZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ1s3LDgpJywgJ2ZvbycpLAog ICAoJ1syLDMpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ1s5LDEw KScsICdiYXInKQogOworVVBEQVRFIHRlbXBvcmFsMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDAwLTA1LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSBuYW1lIHx8ICcx JzsKK1VQREFURSB0ZW1wb3JhbDMgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0w NC0wMScgVE8gJzIwMDAtMDYtMDEnCisgIFNFVCBuYW1lID0gbmFtZSB8fCAnMicKKyAgV0hFUkUg aWQgPSAnWzIsMyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbDMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gY29uZmxpY3RpbmcgaWQgb25seToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsMyAoaWQs IHZhbGlkX2F0LCBpZDIsIG5hbWUpCisgIFZBTFVFUworICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcy MDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSwgJ1s4LDkpJywgJ2ZvbzMnKTsKKy0tIGNvbmZsaWN0 aW5nIGlkMiBvbmx5OgorSU5TRVJUIElOVE8gdGVtcG9yYWwzIChpZCwgdmFsaWRfYXQsIGlkMiwg bmFtZSkKKyAgVkFMVUVTCisgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDUtMDEtMDEnLCAnMjAx MC0wMS0wMScpLCAnWzksMTApJywgJ2JhcjMnKTsKIERST1AgVEFCTEUgdGVtcG9yYWwzOwogCiAt LQpAQCAtNjY3LDkgKzY4MSwyMyBAQCBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZCAo aWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKICAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0w MS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKICAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAw MC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwKICAgKCdbMyw0KScsIGRhdGVyYW5nZSgn MjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0aHJlZScpOwotU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci1TRUxFQ1QgKiBGUk9NIHRw MSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci1TRUxFQ1QgKiBGUk9NIHRwMiBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitTRUxFQ1QgdGFibGVvaWQ6OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRp b25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTE1JyBUTyAnMjAw MC0wMi0xNScKKyAgU0VUIG5hbWUgPSAnb25lMicKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworVVBE QVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDAwLTAyLTIwJyBUTyAnMjAwMC0wMi0yNScKKyAgU0VUIGlkID0gJ1s0LDUpJworICBXSEVS RSBuYW1lID0gJ29uZSc7CitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJworICBTRVQg aWQgPSAnWzIsMyknCisgIFdIRVJFIG5hbWUgPSAndGhyZWUnOworREVMRVRFIEZST00gdGVtcG9y YWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0x NScgVE8gJzIwMDAtMDItMTUnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK1NFTEVDVCB0YWJsZW9p ZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkOwogCiAtLSB0ZW1wb3JhbCBV TklRVUU6CkBAIC02ODUsOSArNzEzLDIzIEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlv bmVkIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcy MDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAogICAoJ1sxLDIpJywgZGF0ZXJhbmdl KCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLAogICAoJ1szLDQpJywgZGF0ZXJh bmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ3RocmVlJyk7Ci1TRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLVNFTEVDVCAqIEZS T00gdHAxIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLVNFTEVDVCAqIEZST00gdHAyIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK1NFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitVUERBVEUgIHRlbXBvcmFsX3Bh cnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMTUnIFRP ICcyMDAwLTAyLTE1JworICBTRVQgbmFtZSA9ICdvbmUyJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMDAtMDItMjAnIFRPICcyMDAwLTAyLTI1JworICBTRVQgaWQgPSAnWzQsNSknCisg IFdIRVJFIG5hbWUgPSAnb25lJzsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnCisg IFNFVCBpZCA9ICdbMiwzKScKKyAgV0hFUkUgbmFtZSA9ICd0aHJlZSc7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAw LTAxLTE1JyBUTyAnMjAwMC0wMi0xNScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworU0VMRUNUIHRh Ymxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQ7CiAKIC0tIEFMVEVS IFRBQkxFIFJFUExJQ0EgSURFTlRJVFkKQEAgLTEyOTEsNiArMTMzMywxOCBAQCBDT01NSVQ7CiAt LSBjaGFuZ2luZyB0aGUgc2NhbGFyIHBhcnQgZmFpbHM6CiBVUERBVEUgdGVtcG9yYWxfcm5nIFNF VCBpZCA9ICdbNyw4KScKICAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CistLSBjaGFuZ2luZyBhbiB1bnJlZmVy ZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX3JuZworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKKyAgU0VUIGlkID0g J1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFuZ2luZyBqdXN0IGEgcGFydCBm YWlsczoKK1VQREFURSB0ZW1wb3JhbF9ybmcKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCisgIFNFVCBpZCA9ICdbNyw4KScKKyAgV0hF UkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgaW4g KCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZh bGlkX2F0OwogLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBz YW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKIERFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzMsNCknOwogVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSBk YXRlcmFuZ2UoJzIwMTYtMDEtMDEnLCAnMjAxNi0wMi0wMScpCkBAIC0xMzM4LDYgKzEzOTIsMTgg QEAgQkVHSU47CiAKICAgREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYp JyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOwog Q09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0w MS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkIGlu ICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBkZWxldGluZyBqdXN0IGEgcGFy dCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgp JykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcy cm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CiAtLSB0aGVu IGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1 Y2NlZWRzOgogREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMyw0 KSc7CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CkBAIC0xMzU2LDEy ICsxNDIyLDEzIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgT04gREVMRVRF IFJFU1RSSUNUOwogCiAtLQotLS0gdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0tIHJu ZzJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCiAKIC0tIHRlc3QgRksgcmVm ZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxf Zmtfcm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwotSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1s0LDUpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2 LDcpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCkBAIC0xMzY5LDggKzE0MzYsOSBAQCBBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRF IENBU0NBREU7CiAKIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCi1JTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzksMTApJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzksMTApJyk7CitUUlVOQ0FU RSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJybmcKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mawogICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKQEAgLTEzNzgsOSArMTQ0 NiwxMCBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgICAgT04gREVMRVRFIFNF VCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKIAogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIERFRkFVTFQKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJu ZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEs LTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpLCAnWzEyLDEzKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcy cm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAogICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrCkBAIC0xNzE2LDYgKzE3ODUsMjAg QEAgQkVHSU47CiAgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpKTsKIENPTU1JVDsKIC0t IGNoYW5naW5nIHRoZSBzY2FsYXIgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcg U0VUIGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSk7CistLSBj aGFuZ2luZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAyJywgJzIwMTgtMDEtMDMnKSkpCisgIFNFVCBpZCA9ICdbNyw4KScKKyAgV0hF UkUgaWQgPSAnWzUsNiknOworLS0gY2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUg dGVtcG9yYWxfbWx0cm5nCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcpKSkKKyAgU0VUIGlkID0gJ1s3 LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5n IEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CiBVUERBVEUgdGVt cG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScKICAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2 YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAy LTAxJykpOwogCkBAIC0xNzYwLDYgKzE4NDMsMTcgQEAgQkVHSU47CiAKICAgREVMRVRFIEZST00g dGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpKTsKIENPTU1JVDsK Ky0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9tbHRybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDInLCAnMjAxOC0wMS0wMycpKSkKK1dIRVJFIGlkID0gJ1s1LDYp JzsKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnKSkpCitXSEVSRSBpZCA9ICdbNSw2KSc7CistLSB0 aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRl IHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBp ZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzUs NiknIEFORCB2YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDE4LTAyLTAxJykpOwogCiAtLQogLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6 IHJhbmdlcwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM0X3RlbXBvcmFs LnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM0X3RlbXBvcmFsLnBsCmluZGV4IDZiYmY2 NTY3Mjc5Li5iNzQ2OTNjYjg5YyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3Qv MDM0X3RlbXBvcmFsLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzNF90ZW1wb3Jh bC5wbApAQCAtMTM3LDYgKzEzNywxMiBAQCBpcyggJHN0ZGVyciwKIAlxcShwc3FsOjxzdGRpbj46 MTogRVJST1I6ICBjYW5ub3QgdXBkYXRlIHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2Ug aXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyB1cGRhdGVz CiBISU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5nIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJ VFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKIAkiY2FuJ3QgVVBEQVRFIHRlbXBvcmFsX25vX2tleSBE RUZBVUxUIik7CisoJHJlc3VsdCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXIt PnBzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX25vX2tleSBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycg V0hFUkUgaWQgPSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTog RVJST1I6ICBjYW5ub3QgdXBkYXRlIHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2UgaXQg ZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyB1cGRhdGVzCitI SU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5nIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkg dXNpbmcgQUxURVIgVEFCTEUuKSwKKwkiY2FuJ3QgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHRlbXBv cmFsX25vX2tleSBERUZBVUxUIik7CiAKICgkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRu b2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAogCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9u b19rZXkgV0hFUkUgaWQgPSAnWzMsNCknIik7CkBAIC0xNDQsNiArMTUwLDEyIEBAIGlzKCAkc3Rk ZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCBkZWxldGUgZnJvbSB0YWJs ZSAidGVtcG9yYWxfbm9fa2V5IiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlk ZW50aXR5IGFuZCBwdWJsaXNoZXMgZGVsZXRlcwogSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBm cm9tIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwK IAkiY2FuJ3QgREVMRVRFIHRlbXBvcmFsX25vX2tleSBERUZBVUxUIik7CisoJHJlc3VsdCwgJHN0 ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKKwkiREVM RVRFIEZST00gdGVtcG9yYWxfbm9fa2V5IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKK2lzKCAkc3Rk ZXJyLAorCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCBkZWxldGUgZnJvbSB0YWJs ZSAidGVtcG9yYWxfbm9fa2V5IiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlk ZW50aXR5IGFuZCBwdWJsaXNoZXMgZGVsZXRlcworSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBm cm9tIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwK KwkiY2FuJ3QgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHRlbXBvcmFsX25vX2tleSBERUZBVUxUIik7 CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCkBAIC0xNjUs MTYgKzE3NywyMiBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiVVBEQVRFIHRlbXBvcmFsX3BrIFNFVCBhID0g J2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX3BrIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdb MiwzKSciKTsKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiREVM RVRFIEZST00gdGVtcG9yYWxfcGsgV0hFUkUgaWQgPSAnWzMsNCknIik7Ciskbm9kZV9wdWJsaXNo ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9wayBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hF UkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgn c3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9yYWxfcGsgT1JERVIgQlkgaWQsIHZhbGlkX2F0Iik7 CiBpcyggJHJlc3VsdCwgcXF7WzEsMil8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YQotWzIsMyl8 WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YgorWzIsMyl8WzIwMDAtMDEtMDEsMjAwMS0wMS0wMSl8 YgorWzIsMyl8WzIwMDEtMDEtMDEsMjAwMi0wMS0wMSl8YworWzIsMyl8WzIwMDMtMDEtMDEsMjAx MC0wMS0wMSl8YgogWzQsNSl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YX0sICdyZXBsaWNhdGVk IHRlbXBvcmFsX3BrIERFRkFVTFQnKTsKIAogIyByZXBsaWNhdGUgd2l0aCBhIHVuaXF1ZSBrZXk6 CkBAIC0xOTIsNiArMjEwLDEyIEBAIGlzKCAkc3RkZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBF UlJPUjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBk b2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMKIEhJ TlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1 c2luZyBBTFRFUiBUQUJMRS4pLAogCSJjYW4ndCBVUERBVEUgdGVtcG9yYWxfdW5pcXVlIERFRkFV TFQiKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNx bCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVtcG9yYWxfdW5pcXVlIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVS RSBpZCA9ICdbMiwzKSciKTsKK2lzKCAkc3RkZXJyLAorCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJP UjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2Vz IG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMKK0hJTlQ6 ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2lu ZyBBTFRFUiBUQUJMRS4pLAorCSJjYW4ndCBVUERBVEUgRk9SIFBPUlRJT04gT0YgdGVtcG9yYWxf dW5pcXVlIERFRkFVTFQiKTsKIAogKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVf cHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1 ZSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKQEAgLTE5OSw2ICsyMjMsMTIgQEAgaXMoICRzdGRlcnIs CiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9tIHRhYmxlICJ0 ZW1wb3JhbF91bmlxdWUiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRp dHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCiBISU5UOiAgVG8gZW5hYmxlIGRlbGV0aW5nIGZyb20g dGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAogCSJj YW4ndCBERUxFVEUgdGVtcG9yYWxfdW5pcXVlIERFRkFVTFQiKTsKKygkcmVzdWx0LCAkc3Rkb3V0 LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJERUxFVEUg RlJPTSB0ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0w MS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIs CisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9tIHRhYmxlICJ0 ZW1wb3JhbF91bmlxdWUiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRp dHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCitISU5UOiAgVG8gZW5hYmxlIGRlbGV0aW5nIGZyb20g dGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAorCSJj YW4ndCBERUxFVEUgRk9SIFBPUlRJT04gT0YgdGVtcG9yYWxfdW5pcXVlIERFRkFVTFQiKTsKIAog JG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7CiAKQEAgLTI4NywxNiAr MzE3LDIyIEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCiAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJVUERBVEUgdGVtcG9yYWxfbm9fa2V5IFNFVCBhID0g J2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX25vX2tleSBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hFUkUgaWQg PSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJ IkRFTEVURSBGUk9NIHRlbXBvcmFsX25vX2tleSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKKyRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFs X25vX2tleSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAw My0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9m b3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9yYWxfbm9fa2V5IE9SREVSIEJZ IGlkLCB2YWxpZF9hdCIpOwogaXMoICRyZXN1bHQsIHFxe1sxLDIpfFsyMDAwLTAxLTAxLDIwMTAt MDEtMDEpfGEKLVsyLDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGIKK1syLDMpfFsyMDAwLTAx LTAxLDIwMDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEpfGMKK1syLDMp fFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpfGIKIFs0LDUpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEp fGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF9ub19rZXkgRlVMTCcpOwogCiAjIHJlcGxpY2F0ZSB3 aXRoIGEgcHJpbWFyeSBrZXk6CkBAIC0zMTAsMTYgKzM0NiwyMiBAQCAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAki VVBEQVRFIHRlbXBvcmFsX3BrIFNFVCBhID0gJ2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX3Br IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAxLTAx JyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKIAogJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9yYWxfcGsgV0hFUkUgaWQg PSAnWzMsNCknIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAy LTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1 Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9yYWxf cGsgT1JERVIgQlkgaWQsIHZhbGlkX2F0Iik7CiBpcyggJHJlc3VsdCwgcXF7WzEsMil8WzIwMDAt MDEtMDEsMjAxMC0wMS0wMSl8YQotWzIsMyl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YgorWzIs Myl8WzIwMDAtMDEtMDEsMjAwMS0wMS0wMSl8YgorWzIsMyl8WzIwMDEtMDEtMDEsMjAwMi0wMS0w MSl8YworWzIsMyl8WzIwMDMtMDEtMDEsMjAxMC0wMS0wMSl8YgogWzQsNSl8WzIwMDAtMDEtMDEs MjAxMC0wMS0wMSl8YX0sICdyZXBsaWNhdGVkIHRlbXBvcmFsX3BrIEZVTEwnKTsKIAogIyByZXBs aWNhdGUgd2l0aCBhIHVuaXF1ZSBrZXk6CkBAIC0zMzMsMTcgKzM3NSwyMyBAQCAkbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywKIAkiVVBEQVRFIHRlbXBvcmFsX3VuaXF1ZSBTRVQgYSA9ICdiJyBXSEVSRSBpZCA9ICdbMiwz KSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlVQREFURSB0 ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0wMScg VE8gJzIwMDItMDEtMDEnIFNFVCBhID0gJ2MnIFdIRVJFIGlkID0gJ1syLDMpJyIpOwogCiAkbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJERUxFVEUgRlJPTSB0ZW1wb3Jh bF91bmlxdWUgV0hFUkUgaWQgPSAnWzMsNCknIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0g J1syLDMpJyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsK IAogJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQiKTsKIGlz KCAkcmVzdWx0LCBxcXtbMSwyKXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKXxhCi1bMiwzKXxbMjAw MC0wMS0wMSwyMDEwLTAxLTAxKXxiCi1bNCw1KXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKXxhfSwg J3JlcGxpY2F0ZWQgdGVtcG9yYWxfdW5pcXVlIEZVTEwnKTsKK1syLDMpfFsyMDAwLTAxLTAxLDIw MDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEpfGMKK1syLDMpfFsyMDAz LTAxLTAxLDIwMTAtMDEtMDEpfGIKK1s0LDUpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAn cmVwbGljYXRlZCB0ZW1wb3JhbF91bmlxdWUgREVGQVVMVCcpOwogCiAjIGNsZWFudXAKIApAQCAt NDI1LDE2ICs0NzMsMjIgQEAgJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAKICRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlVQREFURSB0ZW1wb3JhbF9wayBTRVQg YSA9ICdiJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCisJIlVQREFURSB0ZW1wb3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hFUkUgaWQg PSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJ IkRFTEVURSBGUk9NIHRlbXBvcmFsX3BrIFdIRVJFIGlkID0gJ1szLDQpJyIpOworJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiREVMRVRFIEZST00gdGVtcG9yYWxfcGsg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEn IFdIRVJFIGlkID0gJ1syLDMpJyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNo dXAoJ3N1YjEnKTsKIAogJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9z dGdyZXMnLAogCSJTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BrIE9SREVSIEJZIGlkLCB2YWxpZF9h dCIpOwogaXMoICRyZXN1bHQsIHFxe1sxLDIpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGEKLVsy LDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGIKK1syLDMpfFsyMDAwLTAxLTAxLDIwMDEtMDEt MDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEpfGMKK1syLDMpfFsyMDAzLTAxLTAx LDIwMTAtMDEtMDEpfGIKIFs0LDUpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAncmVwbGlj YXRlZCB0ZW1wb3JhbF9wayBVU0lORyBJTkRFWCcpOwogCiAjIHJlcGxpY2F0ZSB3aXRoIGEgdW5p cXVlIGtleToKQEAgLTQ0OCwxNiArNTAyLDIyIEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KAogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJVUERBVEUgdGVt cG9yYWxfdW5pcXVlIFNFVCBhID0gJ2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX3VuaXF1ZSBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScg U0VUIGEgPSAnYycgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBXSEVSRSBp ZCA9ICdbMyw0KSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJ IkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRu b2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5v ZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVt cG9yYWxfdW5pcXVlIE9SREVSIEJZIGlkLCB2YWxpZF9hdCIpOwogaXMoICRyZXN1bHQsIHFxe1sx LDIpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGEKLVsyLDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEt MDEpfGIKK1syLDMpfFsyMDAwLTAxLTAxLDIwMDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAx LDIwMDItMDEtMDEpfGMKK1syLDMpfFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpfGIKIFs0LDUpfFsy MDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF91bmlxdWUgVVNJ TkcgSU5ERVgnKTsKIAogIyBjbGVhbnVwCkBAIC01NDMsNiArNjAzLDEyIEBAIGlzKCAkc3RkZXJy LAogCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRlbXBv cmFsX25vX2tleSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBh bmQgcHVibGlzaGVzIHVwZGF0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxl LCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAogCSJjYW4ndCBVUERB VEUgdGVtcG9yYWxfbm9fa2V5IE5PVEhJTkciKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJy KSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVtcG9yYWxf bm9fa2V5IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAy LTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKK2lzKCAkc3RkZXJyLAor CXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRlbXBvcmFs X25vX2tleSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQg cHVibGlzaGVzIHVwZGF0ZXMKK0hJTlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxlLCBz ZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAorCSJjYW4ndCBVUERBVEUg dGVtcG9yYWxfbm9fa2V5IE5PVEhJTkciKTsKIAogKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIp ID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBv cmFsX25vX2tleSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKQEAgLTU1MCw2ICs2MTYsMTIgQEAgaXMo ICRzdGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9t IHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxp Y2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCiBISU5UOiAgVG8gZW5hYmxlIGRlbGV0 aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJM RS4pLAogCSJjYW4ndCBERUxFVEUgdGVtcG9yYWxfbm9fa2V5IE5PVEhJTkciKTsKKygkcmVzdWx0 LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAor CSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9ub19rZXkgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMo ICRzdGRlcnIsCisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9t IHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxp Y2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCitISU5UOiAgVG8gZW5hYmxlIGRlbGV0 aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJM RS4pLAorCSJjYW4ndCBERUxFVEUgdGVtcG9yYWxfbm9fa2V5IE5PVEhJTkciKTsKIAogJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7CiAKQEAgLTU3NSw2ICs2NDcsMTIg QEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0 ZSB0YWJsZSAidGVtcG9yYWxfcGsiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2Eg aWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyB1cGRhdGVzCiBISU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5n IHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKIAki Y2FuJ3QgVVBEQVRFIHRlbXBvcmFsX3BrIE5PVEhJTkciKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAk c3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVt cG9yYWxfcGsgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0wMScgVE8gJzIw MDItMDEtMDEnIFNFVCBhID0gJ2MnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIs CisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9y YWxfcGsiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1 Ymxpc2hlcyB1cGRhdGVzCitISU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5nIHRoZSB0YWJsZSwgc2V0 IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKKwkiY2FuJ3QgVVBEQVRFIHRl bXBvcmFsX3BrIE5PVEhJTkciKTsKIAogKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5v ZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3Br IFdIRVJFIGlkID0gJ1szLDQpJyIpOwpAQCAtNTgyLDYgKzY2MCwxMiBAQCBpcyggJHN0ZGVyciwK IAlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRl bXBvcmFsX3BrIiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFu ZCBwdWJsaXNoZXMgZGVsZXRlcwogSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBmcm9tIHRoZSB0 YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKIAkiY2FuJ3Qg REVMRVRFIHRlbXBvcmFsX3BrIE5PVEhJTkciKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJy KSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1w b3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAw My0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxz dGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX3BrIiBi ZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMg ZGVsZXRlcworSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBmcm9tIHRoZSB0YWJsZSwgc2V0IFJF UExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKKwkiY2FuJ3QgREVMRVRFIHRlbXBv cmFsX3BrIE5PVEhJTkciKTsKIAogJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdz dWIxJyk7CiAKQEAgLTYwNyw2ICs2OTEsMTIgQEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8c3Rk aW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9yYWxfdW5pcXVlIiBiZWNh dXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgdXBk YXRlcwogSElOVDogIFRvIGVuYWJsZSB1cGRhdGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElE RU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IFVQREFURSB0ZW1wb3JhbF91bmlx dWUgTk9USElORyIpOworKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlz aGVyLT5wc3FsKCdwb3N0Z3JlcycsCisJIlVQREFURSB0ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0wMScgVE8gJzIwMDItMDEtMDEnIFNFVCBhID0g J2MnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIsCisJcXEocHNxbDo8c3RkaW4+ OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9yYWxfdW5pcXVlIiBiZWNhdXNl IGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgdXBkYXRl cworSElOVDogIFRvIGVuYWJsZSB1cGRhdGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5U SVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCisJImNhbid0IFVQREFURSBGT1IgUE9SVElPTiBPRiB0 ZW1wb3JhbF91bmlxdWUgTk9USElORyIpOwogCiAoJHJlc3VsdCwgJHN0ZG91dCwgJHN0ZGVycikg PSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9y YWxfdW5pcXVlIFdIRVJFIGlkID0gJ1szLDQpJyIpOwpAQCAtNjE0LDYgKzcwNCwxMiBAQCBpcygg JHN0ZGVyciwKIAlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20g dGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGlj YSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgZGVsZXRp bmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxF LiksCiAJImNhbid0IERFTEVURSB0ZW1wb3JhbF91bmlxdWUgTk9USElORyIpOworKCRyZXN1bHQs ICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCisJ IkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7Citpcygg JHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20g dGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGlj YSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKK0hJTlQ6ICBUbyBlbmFibGUgZGVsZXRp bmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxF LiksCisJImNhbid0IERFTEVURSBGT1IgUE9SVElPTiBPRiB0ZW1wb3JhbF91bmlxdWUgTk9USElO RyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIApkaWZm IC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMvcGdp bmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCA0M2ZlM2JjZDU5My4uZGZlYjBmMWNhMWIgMTAwNjQ0 Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9w Z2luZGVudC90eXBlZGVmcy5saXN0CkBAIC04MzcsNiArODM3LDkgQEAgRm9yQm90aFN0YXRlCiBG b3JFYWNoU3RhdGUKIEZvckZpdmVTdGF0ZQogRm9yRm91clN0YXRlCitGb3JQb3J0aW9uT2ZDbGF1 c2UKK0ZvclBvcnRpb25PZkV4cHIKK0ZvclBvcnRpb25PZlN0YXRlCiBGb3JUaHJlZVN0YXRlCiBG b3JlaWduQXN5bmNDb25maWd1cmVXYWl0X2Z1bmN0aW9uCiBGb3JlaWduQXN5bmNOb3RpZnlfZnVu Y3Rpb24KQEAgLTk3MCw2ICs5NzMsNyBAQCBGb3JtX3BnX3RzX3RlbXBsYXRlCiBGb3JtX3BnX3R5 cGUKIEZvcm1fcGdfdXNlcl9tYXBwaW5nCiBGb3JtYXROb2RlCitGUE9fUXVlcnlIYXNoRW50cnkK IEZyZWVCbG9ja051bWJlckFycmF5CiBGcmVlTGlzdERhdGEKIEZyZWVQYWdlQnRyZWUKLS0gCjIu MzkuNQoK --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0010-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch" Content-Disposition: attachment; filename="v57-0010-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnkc9 RnJvbSA5YzFlZmNkNjdlN2NjOWZmNTJmMWYzMDBjNDIwNjQzOTYwNDViMzk5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMjkgT2N0IDIwMjQgMTg6NTQ6MzcgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NyAxMC8xMV0gRXhwb3NlIEZPUiBQT1JUSU9OIE9GIHRvIHBscGdzcWwgdHJp Z2dlcnMKCkl0IGlzIGhlbHBmdWwgZm9yIHRyaWdnZXJzIHRvIHNlZSB3aGF0IHRoZSBGT1IgUE9S VElPTiBPRiBjbGF1c2UKc3BlY2lmaWVkOiBib3RoIHRoZSBjb2x1bW4vcGVyaW9kIG5hbWUgYW5k IHRoZSB0YXJnZXRlZCBib3VuZHMuIE91ciBSSQp0cmlnZ2VycyByZXF1aXJlIHRoaXMgaW5mb3Jt YXRpb24sIGFuZCB3ZSBhcmUgcGFzc2luZyBpdCBhcyBwYXJ0IG9mIHRoZQpUcmlnZ2VyRGF0YSBz dHJ1Y3QuIFRoaXMgY29tbWl0IGFsbG93cyBwbHBnc3FsIHRyaWdnZXIgZnVuY3Rpb25zIHRvCmFj Y2VzcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiwgdXNpbmcgdGhlIG5ldyBUR19QRVJJT0RfQ09MVU1O IGFuZApUR19QRVJJT0RfVEFSR0VUIHZhcmlhYmxlcy4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2ly dGggPHBqQGlsbHVtaW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBkb2Mvc3JjL3NnbWwvcGxwZ3Nx bC5zZ21sICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKwogc3JjL3BsL3BscGdzcWwv c3JjL3BsX2NvbXAuYyAgICAgICAgICAgICAgICAgfCAyNiArKysrKysrKysKIHNyYy9wbC9wbHBn c3FsL3NyYy9wbF9leGVjLmMgICAgICAgICAgICAgICAgIHwgMzIgKysrKysrKysrKysrCiBzcmMv cGwvcGxwZ3NxbC9zcmMvcGxwZ3NxbC5oICAgICAgICAgICAgICAgICB8ICAyICsKIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0IHwgNTUgKysrKysrKysrKystLS0t LS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCAgICAgIHwgIDkg KysrLQogNiBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3BscGdzcWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9w bHBnc3FsLnNnbWwKaW5kZXggZTkzNzQ5MWU2YjguLmY1MTk5ODcyZTJlIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvcGxwZ3NxbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwK QEAgLTQyNDcsNiArNDI0NywzMCBAQCBBU1NFUlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmNvbmRpdGlvbjwvcmVwbGFjZWFibGU+IDxvcHRpb25hbD4gLCA8cmVwbAogICAgICAgPC9w YXJhPgogICAgICA8L2xpc3RpdGVtPgogICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAgPHZhcmxp c3RlbnRyeSBpZD0icGxwZ3NxbC1kbWwtdHJpZ2dlci10Zy10ZW1wb3JhbC1jb2x1bW4iPgorICAg ICA8dGVybT48dmFybmFtZT5UR19QRVJJT0RfTkFNRTwvdmFybmFtZT4gPHR5cGU+dGV4dDwvdHlw ZT48L3Rlcm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIHRoZSBjb2x1 bW4gbmFtZSB1c2VkIGluIGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVz ZSwKKyAgICAgICBvciBlbHNlIDxzeW1ib2w+TlVMTDwvc3ltYm9sPi4KKyAgICAgIDwvcGFyYT4K KyAgICAgPC9saXN0aXRlbT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgIDx2YXJsaXN0ZW50 cnkgaWQ9InBscGdzcWwtZG1sLXRyaWdnZXItdGctdGVtcG9yYWwtdGFyZ2V0Ij4KKyAgICAgPHRl cm0+PHZhcm5hbWU+VEdfUEVSSU9EX0JPVU5EUzwvdmFybmFtZT4gPHR5cGU+dGV4dDwvdHlwZT48 L3Rlcm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIHRoZSByYW5nZS9t dWx0aXJhbmdlL2V0Yy4gZ2l2ZW4gYXMgdGhlIGJvdW5kcyBvZiBhCisgICAgICAgPGxpdGVyYWw+ Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVzZSwgZWl0aGVyIGRpcmVjdGx5ICh3aXRoIHBh cmVucyBzeW50YXgpCisgICAgICAgb3IgY29tcHV0ZWQgZnJvbSB0aGUgPGxpdGVyYWw+RlJPTTwv bGl0ZXJhbD4gYW5kIDxsaXRlcmFsPlRPPC9saXRlcmFsPiBib3VuZHMuCisgICAgICAgPHN5bWJv bD5OVUxMPC9zeW1ib2w+IGlmIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiB3YXMg bm90IHVzZWQuCisgICAgICAgVGhpcyBpcyBhIHRleHQgdmFsdWUgYmFzZWQgb24gdGhlIHR5cGUn cyBvdXRwdXQgZnVuY3Rpb24sCisgICAgICAgc2luY2UgdGhlIHR5cGUgY2FuJ3QgYmUga25vd24g YXQgZnVuY3Rpb24gY3JlYXRpb24gdGltZS4KKyAgICAgIDwvcGFyYT4KKyAgICAgPC9saXN0aXRl bT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KICAgIDwvdmFyaWFibGVsaXN0PgogICA8L3BhcmE+CiAK ZGlmZiAtLWdpdCBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9jb21wLmMgYi9zcmMvcGwvcGxwZ3Nx bC9zcmMvcGxfY29tcC5jCmluZGV4IGY2OTc2Njg5YTY5Li41OTc3NjM1OGE2NSAxMDA2NDQKLS0t IGEvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2NvbXAuYworKysgYi9zcmMvcGwvcGxwZ3NxbC9zcmMv cGxfY29tcC5jCkBAIC02MTcsNiArNjE3LDMyIEBAIHBscGdzcWxfY29tcGlsZV9jYWxsYmFjayhG dW5jdGlvbkNhbGxJbmZvIGZjaW5mbywKIAkJCXZhci0+ZHR5cGUgPSBQTFBHU1FMX0RUWVBFX1BS T01JU0U7CiAJCQkoKFBMcGdTUUxfdmFyICopIHZhciktPnByb21pc2UgPSBQTFBHU1FMX1BST01J U0VfVEdfQVJHVjsKIAorCQkJLyogQWRkIHRoZSB2YXJpYWJsZSB0Z19wZXJpb2RfbmFtZSAqLwor CQkJdmFyID0gcGxwZ3NxbF9idWlsZF92YXJpYWJsZSgidGdfcGVyaW9kX25hbWUiLCAwLAorCQkJ CQkJCQkJCSBwbHBnc3FsX2J1aWxkX2RhdGF0eXBlKFRFWFRPSUQsCisJCQkJCQkJCQkJCQkJCQkJ LTEsCisJCQkJCQkJCQkJCQkJCQkJZnVuY3Rpb24tPmZuX2lucHV0X2NvbGxhdGlvbiwKKwkJCQkJ CQkJCQkJCQkJCQlOVUxMKSwKKwkJCQkJCQkJCQkgdHJ1ZSk7CisJCQlBc3NlcnQodmFyLT5kdHlw ZSA9PSBQTFBHU1FMX0RUWVBFX1ZBUik7CisJCQl2YXItPmR0eXBlID0gUExQR1NRTF9EVFlQRV9Q Uk9NSVNFOworCQkJKChQTHBnU1FMX3ZhciAqKSB2YXIpLT5wcm9taXNlID0gUExQR1NRTF9QUk9N SVNFX1RHX1BFUklPRF9OQU1FOworCisJCQkvKgorCQkJICogQWRkIHRoZSB2YXJpYWJsZSB0byB0 Z19wZXJpb2RfYm91bmRzLiBUaGlzIGNvdWxkIGJlIGFueQorCQkJICogcmFuZ2V0eXBlIG9yIG11 bHRpcmFuZ2V0eXBlIG9yIHVzZXItc3VwcGxpZWQgdHlwZSwgc28gdGhlIGJlc3QKKwkJCSAqIHdl IGNhbiBvZmZlciBpcyBhIFRFWFQgdmFyaWFibGUuCisJCQkgKi8KKwkJCXZhciA9IHBscGdzcWxf YnVpbGRfdmFyaWFibGUoInRnX3BlcmlvZF9ib3VuZHMiLCAwLAorCQkJCQkJCQkJCSBwbHBnc3Fs X2J1aWxkX2RhdGF0eXBlKFRFWFRPSUQsCisJCQkJCQkJCQkJCQkJCQkJLTEsCisJCQkJCQkJCQkJ CQkJCQkJZnVuY3Rpb24tPmZuX2lucHV0X2NvbGxhdGlvbiwKKwkJCQkJCQkJCQkJCQkJCQlOVUxM KSwKKwkJCQkJCQkJCQkgdHJ1ZSk7CisJCQlBc3NlcnQodmFyLT5kdHlwZSA9PSBQTFBHU1FMX0RU WVBFX1ZBUik7CisJCQl2YXItPmR0eXBlID0gUExQR1NRTF9EVFlQRV9QUk9NSVNFOworCQkJKChQ THBnU1FMX3ZhciAqKSB2YXIpLT5wcm9taXNlID0gUExQR1NRTF9QUk9NSVNFX1RHX1BFUklPRF9C T1VORFM7CisKIAkJCWJyZWFrOwogCiAJCWNhc2UgUExQR1NRTF9FVkVOVF9UUklHR0VSOgpkaWZm IC0tZ2l0IGEvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYyBiL3NyYy9wbC9wbHBnc3FsL3Ny Yy9wbF9leGVjLmMKaW5kZXggZDE5NDI1YjdhNzEuLjExZWI1YTYwYTc5IDEwMDY0NAotLS0gYS9z cmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5jCisrKyBiL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9l eGVjLmMKQEAgLTEzODUsNiArMTM4NSw3IEBAIHBscGdzcWxfZnVsZmlsbF9wcm9taXNlKFBMcGdT UUxfZXhlY3N0YXRlICplc3RhdGUsCiAJCQkJCQlQTHBnU1FMX3ZhciAqdmFyKQogewogCU1lbW9y eUNvbnRleHQgb2xkY29udGV4dDsKKwlGb3JQb3J0aW9uT2ZTdGF0ZSAqZnBvOwogCiAJaWYgKHZh ci0+cHJvbWlzZSA9PSBQTFBHU1FMX1BST01JU0VfTk9ORSkKIAkJcmV0dXJuOwkJCQkJLyogbm90 aGluZyB0byBkbyAqLwpAQCAtMTUxNiw2ICsxNTE3LDM3IEBAIHBscGdzcWxfZnVsZmlsbF9wcm9t aXNlKFBMcGdTUUxfZXhlY3N0YXRlICplc3RhdGUsCiAJCQl9CiAJCQlicmVhazsKIAorCQljYXNl IFBMUEdTUUxfUFJPTUlTRV9UR19QRVJJT0RfTkFNRToKKwkJCWlmIChlc3RhdGUtPnRyaWdkYXRh ID09IE5VTEwpCisJCQkJZWxvZyhFUlJPUiwgInRyaWdnZXIgcHJvbWlzZSBpcyBub3QgaW4gYSB0 cmlnZ2VyIGZ1bmN0aW9uIik7CisJCQlpZiAoZXN0YXRlLT50cmlnZGF0YS0+dGdfdGVtcG9yYWwp CisJCQkJYXNzaWduX3RleHRfdmFyKGVzdGF0ZSwgdmFyLCBlc3RhdGUtPnRyaWdkYXRhLT50Z190 ZW1wb3JhbC0+ZnBfcmFuZ2VOYW1lKTsKKwkJCWVsc2UKKwkJCQlhc3NpZ25fc2ltcGxlX3Zhcihl c3RhdGUsIHZhciwgKERhdHVtKSAwLCB0cnVlLCBmYWxzZSk7CisJCQlicmVhazsKKworCQljYXNl IFBMUEdTUUxfUFJPTUlTRV9UR19QRVJJT0RfQk9VTkRTOgorCQkJZnBvID0gZXN0YXRlLT50cmln ZGF0YS0+dGdfdGVtcG9yYWw7CisKKwkJCWlmIChlc3RhdGUtPnRyaWdkYXRhID09IE5VTEwpCisJ CQkJZWxvZyhFUlJPUiwgInRyaWdnZXIgcHJvbWlzZSBpcyBub3QgaW4gYSB0cmlnZ2VyIGZ1bmN0 aW9uIik7CisJCQlpZiAoZnBvKQorCQkJeworCisJCQkJT2lkCQkJZnVuY2lkOworCQkJCWJvb2wJ CXZhcmxlbmE7CisKKwkJCQlnZXRUeXBlT3V0cHV0SW5mbyhmcG8tPmZwX3JhbmdlVHlwZSwgJmZ1 bmNpZCwgJnZhcmxlbmEpOworCQkJCUFzc2VydChPaWRJc1ZhbGlkKGZ1bmNpZCkpOworCisJCQkJ YXNzaWduX3RleHRfdmFyKGVzdGF0ZSwgdmFyLAorCQkJCQkJCQlPaWRPdXRwdXRGdW5jdGlvbkNh bGwoZnVuY2lkLAorCQkJCQkJCQkJCQkJCSAgZnBvLT5mcF90YXJnZXRSYW5nZSkpOworCQkJfQor CQkJZWxzZQorCQkJCWFzc2lnbl9zaW1wbGVfdmFyKGVzdGF0ZSwgdmFyLCAoRGF0dW0pIDAsIHRy dWUsIGZhbHNlKTsKKwkJCWJyZWFrOworCiAJCWNhc2UgUExQR1NRTF9QUk9NSVNFX1RHX0VWRU5U OgogCQkJaWYgKGVzdGF0ZS0+ZXZ0cmlnZGF0YSA9PSBOVUxMKQogCQkJCWVsb2coRVJST1IsICJl dmVudCB0cmlnZ2VyIHByb21pc2UgaXMgbm90IGluIGFuIGV2ZW50IHRyaWdnZXIgZnVuY3Rpb24i KTsKZGlmZiAtLWdpdCBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbHBnc3FsLmggYi9zcmMvcGwvcGxw Z3NxbC9zcmMvcGxwZ3NxbC5oCmluZGV4IDVmMTkzYTM3MTgzLi44MDAwMTA0YmM4OSAxMDA2NDQK LS0tIGEvc3JjL3BsL3BscGdzcWwvc3JjL3BscGdzcWwuaAorKysgYi9zcmMvcGwvcGxwZ3NxbC9z cmMvcGxwZ3NxbC5oCkBAIC04NSw2ICs4NSw4IEBAIHR5cGVkZWYgZW51bSBQTHBnU1FMX3Byb21p c2VfdHlwZQogCVBMUEdTUUxfUFJPTUlTRV9UR19BUkdWLAogCVBMUEdTUUxfUFJPTUlTRV9UR19F VkVOVCwKIAlQTFBHU1FMX1BST01JU0VfVEdfVEFHLAorCVBMUEdTUUxfUFJPTUlTRV9UR19QRVJJ T0RfTkFNRSwKKwlQTFBHU1FMX1BST01JU0VfVEdfUEVSSU9EX0JPVU5EUywKIH0gUExwZ1NRTF9w cm9taXNlX3R5cGU7CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2Zvcl9wb3J0aW9uX29mLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRp b25fb2Yub3V0CmluZGV4IDkyODhiNDIyNGY3Li41MmZiMDQ0ZDJlNSAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlvbl9vZi5vdXQKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlvbl9vZi5vdXQKQEAgLTYxMyw4ICs2MTMsMTMgQEAg Q1JFQVRFIEZVTkNUSU9OIGR1bXBfdHJpZ2dlcigpCiBSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0Ug cGxwZ3NxbCBBUwogJCQKIEJFR0lOCi0gIFJBSVNFIE5PVElDRSAnJTogJSAlICU6JywKLSAgICBU R19OQU1FLCBUR19XSEVOLCBUR19PUCwgVEdfTEVWRUw7CisgIElGIFRHX1BFUklPRF9OQU1FIElT IE5PVCBOVUxMIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSBGT1IgUE9SVElPTiBPRiAl ICglKSAlOicsCisgICAgICBUR19OQU1FLCBUR19XSEVOLCBUR19PUCwgVEdfUEVSSU9EX05BTUUs IFRHX1BFUklPRF9CT1VORFMsIFRHX0xFVkVMOworICBFTFNFCisgICAgUkFJU0UgTk9USUNFICcl OiAlICUgJTonLAorICAgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworICBF TkQgSUY7CiAKICAgSUYgVEdfQVJHVlswXSBUSEVOCiAgICAgUkFJU0UgTk9USUNFICcgIG9sZDog JScsIChTRUxFQ1Qgc3RyaW5nX2FnZyhvbGRfdGFibGU6OnRleHQsICdcbiAgICAgICAnKSBGUk9N IG9sZF90YWJsZSk7CkBAIC02NjQsMTAgKzY2OSwxMCBAQCBVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIxLTAxLTAxJyBUTyAnMjAy Mi0wMS0wMScKICAgU0VUIG5hbWUgPSAnZml2ZV4zJwogICBXSEVSRSBpZCA9ICdbNSw2KSc7Ci1O T1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNF OiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IChbMjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxO VUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJF Rk9SRSBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKFsyMDIxLTAxLTAxLDIwMjItMDEtMDEpKSBST1c6CiBO T1RJQ0U6ICAgIG9sZDogWzIwMTktMDEtMDEsMjAzMC0wMS0wMSkKIE5PVElDRTogICAgbmV3OiBb MjAyMS0wMS0wMSwyMDIyLTAxLTAxKQogTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUg SU5TRVJUIFNUQVRFTUVOVDoKQEAgLTY5NCwxOSArNjk5LDE5IEBAIE5PVElDRTogICAgbmV3OiBb MjAyMi0wMS0wMSwyMDMwLTAxLTAxKQogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBB RlRFUiBJTlNFUlQgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAg ICBuZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFU RSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3JvdzogQUZURVIgVVBEQVRFIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChbMjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkgUk9XOgogTk9USUNF OiAgICBvbGQ6IFsyMDE5LTAxLTAxLDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogWzIwMjEt MDEtMDEsMjAyMi0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3RtdDogQUZURVIg VVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3RtdDogQUZURVIg VVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkg U1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxM PgogREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAogICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDIzLTAxLTAxJyBUTyAnMjAyNC0wMS0wMScKICAgV0hFUkUgaWQgPSAnWzUs NiknOwotTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgREVMRVRFIFNUQVRFTUVOVDoK K05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIERFTEVURSBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoWzIwMjMtMDEtMDEsMjAyNC0wMS0wMSkpIFNUQVRFTUVOVDoKIE5PVElDRTogICAg b2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5PVElDRTogIGZwb19iZWZvcmVf cm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUg REVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAyMy0wMS0wMSwyMDI0LTAxLTAxKSkg Uk9XOgogTk9USUNFOiAgICBvbGQ6IFsyMDIyLTAxLTAxLDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICAg IG5ldzogPE5VTEw+CiBOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RB VEVNRU5UOgpAQCAtNzMzLDEwICs3MzgsMTAgQEAgTk9USUNFOiAgICBuZXc6IFsyMDI0LTAxLTAx LDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VS VCBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogPE5V TEw+Ci1OT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05P VElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKFsyMDIzLTAxLTAxLDIwMjQtMDEtMDEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDog WzIwMjItMDEtMDEsMjAzMC0wMS0wMSkKIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5PVElDRTog IGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoKK05PVElDRTog IGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IChbMjAyMy0wMS0wMSwyMDI0LTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6 IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgogU0VMRUNUICogRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKQEAgLTgwMiwxMCArODA3LDEwIEBAIEJF R0lOOwogVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCiAgIFNFVCBuYW1lID0gJzIwMTgt MDEtMTVfdG9fMjAxOS0wMS0wMSc7Ci1OT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBV UERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRF IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKSkgU1RBVEVN RU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgotTk9U SUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2Jl Zm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKFsyMDE4LTAx LTE1LDIwMTktMDEtMDEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0w MS0wMSkKIE5PVElDRTogICAgbmV3OiBbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKQogTk9USUNFOiAg ZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKQEAgLTgzMiwyMCArODM3 LDIwIEBAIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTktMDEtMDEsMjAyMC0wMS0wMSki LG9uZSkKIE5PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRF TUVOVDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwi WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVf cm93OiBBRlRFUiBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFG VEVSIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoWzIwMTgtMDEtMTUsMjAxOS0wMS0w MSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSkiLG9uZSkKIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMTUsMjAxOS0wMS0w MSkiLDIwMTgtMDEtMTVfdG9fMjAxOS0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVf c3RtdDogQUZURVIgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVf c3RtdDogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwy MDE5LTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0w MS0wMSwyMDIwLTAxLTAxKSIsb25lKQogTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0w MS0xNSwyMDE5LTAxLTAxKSIsMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxKQogUk9MTEJBQ0s7CiBC RUdJTjsKIERFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAxLTIxJzsKLU5PVElDRTogIGZwb19iZWZvcmVf c3RtdDogQkVGT1JFIERFTEVURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6 IEJFRk9SRSBERUxFVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCgsMjAxOC0wMS0yMSkpIFNU QVRFTUVOVDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiA8TlVMTD4K LU5PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogIGZw b19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIw MTgtMDEtMjEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkK IE5PVElDRTogICAgbmV3OiA8TlVMTD4KIE5PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JF IElOU0VSVCBTVEFURU1FTlQ6CkBAIC04NjAsMTAgKzg2NSwxMCBAQCBOT1RJQ0U6ICAgIG5ldzog KCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6ICBmcG9fYWZ0 ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDog PE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEp IixvbmUpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoK K05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKCgsMjAxOC0wMS0yMSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiAoIlsxLDIp IiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKIE5PVElDRTogICAgbmV3OiA8TlVMTD4K LU5PVElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoK K05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0ICgoLDIwMTgtMDEtMjEpKSBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDog KCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6ICAgIG5ldzog PE5VTEw+CiBST0xMQkFDSzsKQEAgLTg3MSwxMCArODc2LDEwIEBAIEJFR0lOOwogVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRP ICcyMDE4LTAxLTAyJwogICBTRVQgbmFtZSA9ICdOVUxMX3RvXzIwMTgtMDEtMDEnOwotTk9USUNF OiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZw b19iZWZvcmVfc3RtdDogQkVGT1JFIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwy MDE4LTAxLTAyKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAg ICBuZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9X OgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKCgsMjAxOC0wMS0wMikpIFJPVzoKIE5PVElDRTogICAgb2xkOiBbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKQogTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpCiBO T1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgpAQCAtODg5 LDEwICs4OTQsMTAgQEAgTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMiwyMDIw LTAxLTAxKSIsb25lKQogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJTlNF UlQgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6ICgi WzEsMikiLCJbMjAxOC0wMS0wMiwyMDIwLTAxLTAxKSIsb25lKQotTk9USUNFOiAgZnBvX2FmdGVy X3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRl X3JvdzogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIwMTgtMDEtMDIp KSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEp IixvbmUpCiBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMTgtMDEtMDIp IixOVUxMX3RvXzIwMTgtMDEtMDEpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFG VEVSIFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFG VEVSIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4LTAxLTAyKSkgU1RBVEVN RU5UOgogTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSIs b25lKQogTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKSIs TlVMTF90b18yMDE4LTAxLTAxKQogUk9MTEJBQ0s7CkBAIC05MjksNyArOTM0LDcgQEAgTk9USUNF OiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5z ZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElD RTogICAgbmV3OiBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKQotTk9USUNFOiAgZnBvX2FmdGVyX3Vw ZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3Jv dzogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwyMDE5 LTAxLTAxKSkgUk9XOgogTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpCiBO T1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkKIEJFR0lOOwpAQCAtOTM5LDEw ICs5NDQsMTAgQEAgQ09NTUlUOwogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9yb3c6IEFGVEVS IElOU0VSVCBST1c6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogWzIw MTgtMDEtMjEsMjAxOS0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRF UiBERUxFVEUgUk9XOgorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVU RSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4LTAxLTIxKSkgUk9XOgogTk9USUNFOiAg ICBvbGQ6IFsyMDE4LTAxLTE1LDIwMTktMDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+Ci1O T1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05PVElDRTog IGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgKCgsMjAxOC0wMS0yMSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwyMDE4 LTAxLTE1KQogTk9USUNFOiAgICBuZXc6IDxOVUxMPgogQkVHSU47CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9mb3JfcG9ydGlvbl9vZi5zcWwKaW5kZXggMGU2YzJkYjVhNzUuLjc0OTNjYzRjMjMzIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3FsCkBAIC00ODQsOCArNDg0LDEzIEBA IENSRUFURSBGVU5DVElPTiBkdW1wX3RyaWdnZXIoKQogUkVUVVJOUyBUUklHR0VSIExBTkdVQUdF IHBscGdzcWwgQVMKICQkCiBCRUdJTgotICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSAlOicsCi0gICAg VEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworICBJRiBUR19QRVJJT0RfTkFNRSBJ UyBOT1QgTlVMTCBUSEVOCisgICAgUkFJU0UgTk9USUNFICclOiAlICUgRk9SIFBPUlRJT04gT0Yg JSAoJSkgJTonLAorICAgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX1BFUklPRF9OQU1F LCBUR19QRVJJT0RfQk9VTkRTLCBUR19MRVZFTDsKKyAgRUxTRQorICAgIFJBSVNFIE5PVElDRSAn JTogJSAlICU6JywKKyAgICAgIFRHX05BTUUsIFRHX1dIRU4sIFRHX09QLCBUR19MRVZFTDsKKyAg RU5EIElGOwogCiAgIElGIFRHX0FSR1ZbMF0gVEhFTgogICAgIFJBSVNFIE5PVElDRSAnICBvbGQ6 ICUnLCAoU0VMRUNUIHN0cmluZ19hZ2cob2xkX3RhYmxlOjp0ZXh0LCAnXG4gICAgICAgJykgRlJP TSBvbGRfdGFibGUpOwotLSAKMi4zOS41Cgo= --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0011-Add-PERIODs.patch" Content-Disposition: attachment; filename="v57-0011-Add-PERIODs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnke10 RnJvbSA2NWIwZGU4NTM5MGIyNWE5ODFmODY4Njk4MDUzMTQxNGIyNjM4MTBmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgOSBKYW4gMjAyMSAyMTo1OTo0MyAtMDgwMApTdWJqZWN0 OiBbUEFUQ0ggdjU3IDExLzExXSBBZGQgUEVSSU9EcwoKLSBBZGRlZCBwYXJzaW5nIGZvciBTUUw6 MjAxMSBzeW50YXggdG8gZGVmaW5lIGFuIGFwcGxpY2F0aW9uLXRpbWUgUEVSSU9EIG9uIGEKICB0 YWJsZSAoaW4gYm90aCBDUkVBVEUgVEFCTEUgYW5kIEFMVEVSIFRBQkxFKS4gTWFrZSBzdXJlIHdl IGNyZWF0ZSB0aGUgUEVSSU9ECiAgYWZ0ZXIgY29sdW1ucyBhcmUga25vd24gKHNpbmNlIFBFUklP RHMgY2FuIHJlZmVyIHRvIHRoZW0pIGJ1dCBiZWZvcmUKICBjb25zdHJhaW50cyBhcmUgaGFuZGxl ZCAoc2luY2UgUEVSSU9EcyBjYW4gYXBwZWFyIGluIHRoZW0pLgotIEFkZGVkIEFMVEVSIFRBQkxF IERST1Agc3VwcG9ydCBmb3IgUEVSSU9Ecy4KLSBDcmVhdGVkIHBvc3RncmVzLnBnX3BlcmlvZCB0 YWJsZS4KLSBDcmVhdGVkIGluZm9ybWF0aW9uX3NjaGVtYS5wZXJpb2RzIHZpZXcuCi0gQWRkZWQg cGdfZHVtcCBzdXBwb3J0LgotIEFkZGVkIHRlc3RzIGFuZCBkb2N1bWVudGF0aW9uLgotIEF1dG9t YXRpY2FsbHkgZGVmaW5lIGEgY29uc3RyYWludCBmb3IgZWFjaCBQRVJJT0QgcmVxdWlyaW5nIHRo ZSBzdGFydCBjb2x1bW4KICB0byBiZSBsZXNzIHRoYW4gdGhlIGVuZCBjb2x1bW4uCi0gV2hlbiBj cmVhdGluZyBhIFBFUklPRCwgY2hvb3NlIGFuIGFwcHJvcHJpYXRlIHJhbmdlIHR5cGUgd2UgY2Fu IHVzZSB0bwogIGltcGxlbWVudCBQRVJJT0QtcmVsYXRlZCBvcGVyYXRpb25zLiBZb3UgY2FuIGNo b29zZSBvbmUgZXhwbGljaXRseSBpZiB0aGVyZQogIGlzIGFtYmlndWl0eSAoZHVlIHRvIG11bHRp cGxlIHJhbmdlIHR5cGVzIGNyZWF0ZWQgb3ZlciB0aGUgc2FtZSBiYXNlIHR5cGUpLgoKQXV0aG9y OiBQYXVsIEp1bmd3aXJ0aAotLS0KIGRvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sICAgICAgICAg ICAgICAgICAgICB8ICAxMTIgKwogZG9jL3NyYy9zZ21sL2RkbC5zZ21sICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICA1OCArCiBkb2Mvc3JjL3NnbWwvaW5mb3JtYXRpb25fc2NoZW1hLnNnbWwg ICAgICAgICAgfCAgIDYzICsKIGRvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwgICAgICAgICAgICAg ICAgICAgICB8ICAgIDIgKy0KIGRvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfdGFibGUuc2dtbCAgICAg ICAgICAgICB8ICAgMzEgKy0KIGRvYy9zcmMvc2dtbC9yZWYvY29tbWVudC5zZ21sICAgICAgICAg ICAgICAgICB8ICAgIDIgKwogZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbCAgICAg ICAgICAgIHwgICA2NSArLQogZG9jL3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbCAgICAgICAgICAg ICAgICAgIHwgICAyMSArLQogZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUuc2dtbCAgICAgICAgICAg ICAgICAgIHwgICAyMSArLQogZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwgICAgICAgICAgICAg ICAgICAgIHwgICAxMSArLQogZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbCAgICAgICAgICAgICAg ICAgICAgIHwgICAgOSArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9NYWtlZmlsZSAgICAgICAgICAg ICAgICAgIHwgICAgMSArCiBzcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jICAgICAgICAgICAg ICAgICAgfCAgICAyICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAgICAg ICAgICB8ICAgMTMgKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMgICAgICAgICAgICAgICAg ICAgIHwgICA3NSArCiBzcmMvYmFja2VuZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwg ICAgfCAgIDIzICstCiBzcmMvYmFja2VuZC9jYXRhbG9nL21lc29uLmJ1aWxkICAgICAgICAgICAg ICAgfCAgICAxICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jICAgICAgICAg ICB8ICAgNzIgKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19jb25zdHJhaW50LmMgICAgICAgICAg IHwgICAxMCArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wZXJpb2QuYyAgICAgICAgICAgICAg IHwgIDEzMiArCiBzcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQgICAgICAgICAg fCAgICAyICstCiBzcmMvYmFja2VuZC9jb21tYW5kcy9jb21tZW50LmMgICAgICAgICAgICAgICAg fCAgIDEwICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRzLmMgICAgICAgICAgICAgICB8 ICAgIDEgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jICAgICAgICAgIHwg ICAgMiArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZWNsYWJlbC5jICAgICAgICAgICAgICAgfCAg ICAxICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgICAgICAgICAgICB8ICA5 NzggKysrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdHJpZ2dlci5jICAgICAgICAgICAgICAgIHwg ICAgMiArCiBzcmMvYmFja2VuZC9jb21tYW5kcy92aWV3LmMgICAgICAgICAgICAgICAgICAgfCAg ICA0ICstCiBzcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYyAgICAgICAgfCAg IDQxICstCiBzcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyAgICAgICAgICAgICAgICAgfCAg ICAzICsKIHNyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAgICAgICAgICAgICB8ICAx MjkgKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgICAgICB8ICAg NDUgKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9yZWxhdGlvbi5jICAgICAgICAgICB8ICAg MTAgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyAgICAgICAgICAgIHwgIDE4 MiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICAg MSArCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGVyaW9kLmMgICAgICAgICAgICAgICAgfCAgIDU4 ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jICAgICAgICAgICB8ICAgODgg Kwogc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5jICAgICAgICAgIHwgICAgMSAr CiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAgICAgICAgfCAgMTgwICst CiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oICAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsK IHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyAgICAgICAgICAgICAgICB8ICAgMjQgKwog c3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAzNiArCiBz cmMvaW5jbHVkZS9jYXRhbG9nL01ha2VmaWxlICAgICAgICAgICAgICAgICAgfCAgICAxICsKIHNy Yy9pbmNsdWRlL2NhdGFsb2cvaGVhcC5oICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKwogc3Jj L2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZCAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMv aW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCAgICAgICAgICAgfCAgICAzICstCiBzcmMv aW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmggICAgICAgICAgICAgICAgfCAgICAxIC0KIHNyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcGVyaW9kLmggICAgICAgICAgICAgICB8ICAgNTggKwogc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19yYW5nZS5oICAgICAgICAgICAgICAgIHwgICAgMiArCiBzcmMvaW5j bHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaCAgICAgICAgICAgICAgfCAgICA0ICstCiBzcmMvaW5j bHVkZS9ub2Rlcy9leGVjbm9kZXMuaCAgICAgICAgICAgICAgICAgfCAgICA0ICsKIHNyYy9pbmNs dWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAgMzkgKy0KIHNyYy9pbmNs dWRlL25vZGVzL3ByaW1ub2Rlcy5oICAgICAgICAgICAgICAgICB8ICAgIDIgKwogc3JjL2luY2x1 ZGUvcGFyc2VyL2t3bGlzdC5oICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogc3JjL2luY2x1 ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaCAgICAgICAgICAgIHwgICAgMSArCiBzcmMvaW5jbHVk ZS91dGlscy9sc3lzY2FjaGUuaCAgICAgICAgICAgICAgICAgfCAgICAzICsKIHNyYy9pbmNsdWRl L3V0aWxzL3BlcmlvZC5oICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKwogLi4uL3Rlc3RfZGRs X2RlcGFyc2UvdGVzdF9kZGxfZGVwYXJzZS5jICAgICAgIHwgICAgNiArCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9uX29mLm91dCAgfCAgIDU4ICsKIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcGVyaW9kcy5vdXQgICAgICAgICB8ICAzMTggKysKIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgICAgICB8ICAgMjkgKwogLi4uL3JlZ3Jlc3MvZXhw ZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQgICAgIHwgNDUwMCArKysrKysrKysrKysrKysrLQog c3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAgMiArLQog c3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3FsICAgICAgIHwgICA1MCArCiBz cmMvdGVzdC9yZWdyZXNzL3NxbC9wZXJpb2RzLnNxbCAgICAgICAgICAgICAgfCAgMTk4ICsKIHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsICAgICAgICAgICB8ICAgMjggKwogc3Jj L3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgICAgIHwgMzA2MyArKysrKysr KysrLQogc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgICAgIHwgICAg MyArCiA2OCBmaWxlcyBjaGFuZ2VkLCAxMDcxMyBpbnNlcnRpb25zKCspLCAyMjUgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wZXJpb2QuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZXJpb2QuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcGVyaW9kLmgKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmMvaW5jbHVkZS91dGlscy9wZXJpb2QuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGVyaW9kcy5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmMvdGVzdC9yZWdyZXNzL3NxbC9wZXJpb2RzLnNxbAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9jYXRhbG9ncy5zZ21sIGIvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKaW5kZXggNmM4YTBm MTczYzkuLmVmZjczNjYyNmIxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dt bAorKysgYi9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbApAQCAtMjMwLDYgKzIzMCwxMSBAQAog ICAgICAgPGVudHJ5PmluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiBrZXkgb2YgdGFibGVzPC9l bnRyeT4KICAgICAgPC9yb3c+CiAKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGluayBsaW5r ZW5kPSJjYXRhbG9nLXBnLXBlcmlvZCI+PHN0cnVjdG5hbWU+cGdfcGVyaW9kPC9zdHJ1Y3RuYW1l PjwvbGluaz48L2VudHJ5PgorICAgICAgPGVudHJ5PnBlcmlvZHM8L2VudHJ5PgorICAgICA8L3Jv dz4KKwogICAgICA8cm93PgogICAgICAgPGVudHJ5PjxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGct cG9saWN5Ij48c3RydWN0bmFtZT5wZ19wb2xpY3k8L3N0cnVjdG5hbWU+PC9saW5rPjwvZW50cnk+ CiAgICAgICA8ZW50cnk+cm93LXNlY3VyaXR5IHBvbGljaWVzPC9lbnRyeT4KQEAgLTU3NzMsNiAr NTc3OCwxMTMgQEAgU0NSQU0tU0hBLTI1NiQ8cmVwbGFjZWFibGU+Jmx0O2l0ZXJhdGlvbiBjb3Vu dCZndDs8L3JlcGxhY2VhYmxlPjo8cmVwbGFjZWFibGU+JmwKICAgICAgICBhcmUgc2ltcGxlIHJl ZmVyZW5jZXMuCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CisKKyAgICA8L3Ri b2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKworCisgPHNlY3QxIGlk PSJjYXRhbG9nLXBnLXBlcmlvZCI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19wZXJpb2Q8L3N0 cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9ImNhdGFsb2ctcGctcGVyaW9k Ij4KKyAgIDxwcmltYXJ5PnBnX3BlcmlvZDwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAg PHBhcmE+CisgICBUaGUgY2F0YWxvZyA8c3RydWN0bmFtZT5wZ19wZXJpb2Q8L3N0cnVjdG5hbWU+ IHN0b3JlcworICAgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtIGFuZCBhcHBsaWNhdGlvbiB0aW1l IHBlcmlvZHMuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFBlcmlvZHMgYXJlIGRlc2NyaWJl ZCBpbiA8eHJlZiBsaW5rZW5kPSJkZGwtcGVyaW9kcyIvPi4KKyAgPC9wYXJhPgorCisgIDx0YWJs ZT4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19wZXJpb2Q8L3N0cnVjdG5hbWU+IENvbHVtbnM8 L3RpdGxlPgorCisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1 bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPm9pZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFJvdyBpZGVudGlmaWVy CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnBlcm5hbWU8L3N0cnVjdGZpZWxkPiA8dHlw ZT50ZXh0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgUGVyaW9k IG5hbWUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGVycmVsaWQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICAgKHJlZmVyZW5jZXMgPGxpbmsgbGlua2VuZD0iY2F0 YWxvZy1wZy1jbGFzcyI+PHN0cnVjdG5hbWU+cGdfY2xhc3M8L3N0cnVjdG5hbWU+PC9saW5rPi48 c3RydWN0ZmllbGQ+b2lkPC9zdHJ1Y3RmaWVsZD4pCisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBUaGUgdGFibGUgdGhpcyBwZXJpb2QgYmVsb25ncyB0bworICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD5wZXJzdGFydDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDI8L3R5cGU+ CisgICAgICAgKHJlZmVyZW5jZXMgPGxpbmsgbGlua2VuZD0iY2F0YWxvZy1wZy1hdHRyaWJ1dGUi PjxzdHJ1Y3RuYW1lPnBnX2F0dHJpYnV0ZTwvc3RydWN0bmFtZT48L2xpbms+LjxzdHJ1Y3RmaWVs ZD5hdHRudW08L3N0cnVjdGZpZWxkPikKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgIFRoZSBudW1iZXIgb2YgdGhlIHN0YXJ0IGNvbHVtbgorICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD5wZXJlbmQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQyPC90eXBlPgorICAgICAgIChy ZWZlcmVuY2VzIDxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGctYXR0cmlidXRlIj48c3RydWN0bmFt ZT5wZ19hdHRyaWJ1dGU8L3N0cnVjdG5hbWU+PC9saW5rPi48c3RydWN0ZmllbGQ+YXR0bnVtPC9z dHJ1Y3RmaWVsZD4pCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgbnVt YmVyIG9mIHRoZSBlbmQgY29sdW1uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnBlcnJh bmdlPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50MjwvdHlwZT4KKyAgICAgICAocmVmZXJlbmNlcyA8 bGluayBsaW5rZW5kPSJjYXRhbG9nLXBnLWF0dHJpYnV0ZSI+PHN0cnVjdG5hbWU+cGdfYXR0cmli dXRlPC9zdHJ1Y3RuYW1lPjwvbGluaz4uPHN0cnVjdGZpZWxkPmF0dG51bTwvc3RydWN0ZmllbGQ+ KQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVGhlIG51bWJlciBvZiB0aGUg PGxpdGVyYWw+R0VORVJBVEVEPC9saXRlcmFsPiBjb2x1bW4gdGhhdCBpbXBsZW1lbnRzIHRoZSA8 bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5w ZXJjb25zdHJhaW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgIChyZWZl cmVuY2VzIDxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGctY29uc3RyYWludCI+PHN0cnVjdG5hbWU+ cGdfY29uc3RyYWludDwvc3RydWN0bmFtZT48L2xpbms+LjxzdHJ1Y3RmaWVsZD5vaWQ8L3N0cnVj dGZpZWxkPikKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRoZSBPSUQgb2Yg dGhlIHBlcmlvZCdzIDxsaXRlcmFsPkNIRUNLPC9saXRlcmFsPiBjb25zdHJhaW50CisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKICAgICA8L3Rib2R5PgogICAgPC90Z3JvdXA+ CiAgIDwvdGFibGU+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvZGRsLnNnbWwKaW5kZXggNjViYzA3MGQyZTUuLmViZjFhYTYwNWI2IDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC0x NDQ2LDYgKzE0NDYsNjQgQEAgQ1JFQVRFIFRBQkxFIGNpcmNsZXMgKAogICA8L3NlY3QyPgogIDwv c2VjdDE+CiAKKyA8c2VjdDEgaWQ9ImRkbC1wZXJpb2RzIj4KKyAgPHRpdGxlPlBlcmlvZHM8L3Rp dGxlPgorCisgIDxwYXJhPgorICAgUGVyaW9kcyBhcmUgZGVmaW5pdGlvbnMgb24gYSB0YWJsZSB0 aGF0IGFzc29jaWF0ZSBhIHBlcmlvZCBuYW1lIHdpdGggYSBzdGFydAorICAgY29sdW1uIGFuZCBh biBlbmQgY29sdW1uLiAgQm90aCBjb2x1bW5zIG11c3QgYmUgb2YgZXhhY3RseSB0aGUgc2FtZSB0 eXBlCisgICAoaW5jbHVkaW5nIGNvbGxhdGlvbikgYW5kIGhhdmUgYSByYW5nZSB0eXBlIHdob3Nl IGJhc2UgdHlwZSBtYXRjaGVzIHRob3NlIGNvbHVtbnMuCisgICBFdmVyeSByb3cncyBzdGFydCB2 YWx1ZSBtdXN0IGJlIHN0cmljdGx5IGxlc3MgdGhhbiBpdHMgZW5kIHZhbHVlLgorICA8L3BhcmE+ CisKKyAgPHBhcmE+CisgICBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIHBlcmlvZHM6IGFwcGxpY2F0 aW9uIGFuZCBzeXN0ZW0uICBTeXN0ZW0gcGVyaW9kcyBhcmUKKyAgIGRpc3Rpbmd1aXNoZWQgYnkg dGhlaXIgbmFtZSwgd2hpY2ggbXVzdCBiZSA8bGl0ZXJhbD5TWVNURU1fVElNRTwvbGl0ZXJhbD4u ICBBbnkKKyAgIG90aGVyIG5hbWUgaXMgYW4gYXBwbGljYXRpb24gcGVyaW9kLgorICA8L3BhcmE+ CisKKyAgPHNlY3QyIGlkPSJkZGwtcGVyaW9kcy1hcHBsaWNhdGlvbi1wZXJpb2RzIj4KKyAgPHRp dGxlPkFwcGxpY2F0aW9uIFBlcmlvZHM8L3RpdGxlPgorCisgICA8aW5kZXh0ZXJtPgorICAgIDxw cmltYXJ5PnBlcmlvZDwvcHJpbWFyeT4KKyAgICA8c2Vjb25kYXJ5PmFwcGxpY2F0aW9uPC9zZWNv bmRhcnk+CisgICA8L2luZGV4dGVybT4KKworICAgPHBhcmE+CisgICAgQXBwbGljYXRpb24gcGVy aW9kcyBhcmUgZGVmaW5lZCBvbiBhIHRhYmxlIHVzaW5nIHRoZSBmb2xsb3dpbmcgc3ludGF4Ogor ICAgPC9wYXJhPgorCis8cHJvZ3JhbWxpc3Rpbmc+CitDUkVBVEUgVEFCTEUgYmlsbGluZ19hZGRy ZXNzZXMgKAorICBjdXN0b21lcl9pZCBpbnRlZ2VyLAorICBhZGRyZXNzX2lkIGludGVnZXIsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdG8gZGF0ZSwKKyAgPGVtcGhhc2lzPlBFUklPRCBG T1IgdmFsaWRpdHkgKHZhbGlkX2Zyb20sIHZhbGlkX3RvKTwvZW1waGFzaXM+CispOworPC9wcm9n cmFtbGlzdGluZz4KKworICAgPHBhcmE+CisgICAgQXBwbGljYXRpb24gcGVyaW9kcyBjYW4gYmUg dXNlZCB0byBkZWZpbmUgdGVtcG9yYWwgcHJpbWFyeSBhbmQgZm9yZWlnbiBrZXlzLgorICAgIEFu eSB0YWJsZSB3aXRoIGFuIGFwcGxpY2F0aW9uIHBlcmlvZCBzdXBwb3J0cyB0ZW1wb3JhbCB1cGRh dGUgYW5kIGRlbGV0ZSBjb21tYW5kcy4KKyAgIDwvcGFyYT4KKyAgPC9zZWN0Mj4KKworICA8c2Vj dDIgaWQ9ImRkbC1wZXJpb2RzLXN5c3RlbS1wZXJpb2RzIj4KKyAgIDx0aXRsZT5TeXN0ZW0gUGVy aW9kczwvdGl0bGU+CisKKyAgIDxpbmRleHRlcm0+CisgICAgPHByaW1hcnk+cGVyaW9kPC9wcmlt YXJ5PgorICAgIDxzZWNvbmRhcnk+c3lzdGVtPC9zZWNvbmRhcnk+CisgICA8L2luZGV4dGVybT4K KworICAgPHBhcmE+CisgICAgUGVyaW9kcyBmb3IgPGxpdGVyYWw+U1lTVEVNX1RJTUU8L2xpdGVy YWw+IGFyZSBjdXJyZW50bHkgbm90IGltcGxlbWVudGVkLgorICAgPC9wYXJhPgorICA8L3NlY3Qy PgorIDwvc2VjdDE+CisKICA8c2VjdDEgaWQ9ImRkbC1zeXN0ZW0tY29sdW1ucyI+CiAgIDx0aXRs ZT5TeXN0ZW0gQ29sdW1uczwvdGl0bGU+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbmZv cm1hdGlvbl9zY2hlbWEuc2dtbCBiL2RvYy9zcmMvc2dtbC9pbmZvcm1hdGlvbl9zY2hlbWEuc2dt bAppbmRleCAxOWRmZmU3YmU2YS4uOTFiMjY4ODFjNjUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dt bC9pbmZvcm1hdGlvbl9zY2hlbWEuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvaW5mb3JtYXRpb25f c2NoZW1hLnNnbWwKQEAgLTQxNzEsNiArNDE3MSw2OSBAQCBPUkRFUiBCWSBjLm9yZGluYWxfcG9z aXRpb247CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorIDxzZWN0MSBpZD0iaW5mb3NjaGVtYS1w ZXJpb2RzIj4KKyAgPHRpdGxlPjxsaXRlcmFsPnBlcmlvZHM8L2xpdGVyYWw+PC90aXRsZT4KKwor ICA8cGFyYT4KKyAgIFRoZSB2aWV3IDxsaXRlcmFsPnBlcmlvZHM8L2xpdGVyYWw+IGNvbnRhaW5z IGluZm9ybWF0aW9uIGFib3V0IHRoZQorICAgcGVyaW9kcyBvZiBhbGwgdGFibGVzIGluIHRoZSBj dXJyZW50IGRhdGFiYXNlLiAgVGhlIHN0YXJ0IGFuZCBlbmQgY29sdW1uCisgICBuYW1lcyBhcmUg b25seSBzaG93biBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyBhY2Nlc3MgdG8gdGhlbSAoYnkgd2F5 IG9mIGJlaW5nCisgICB0aGUgb3duZXIgb3IgaGF2aW5nIHNvbWUgcHJpdmlsZWdlKS4KKyAgPC9w YXJhPgorCisgIDx0YWJsZT4KKyAgIDx0aXRsZT48bGl0ZXJhbD5wZXJpb2RzPC9saXRlcmFsPiBD b2x1bW5zPC90aXRsZT4KKworICAgPHRncm91cCBjb2xzPSIzIj4KKyAgICA8dGhlYWQ+CisgICAg IDxyb3c+CisgICAgICA8ZW50cnk+TmFtZTwvZW50cnk+CisgICAgICA8ZW50cnk+RGF0YSBUeXBl PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5EZXNjcmlwdGlvbjwvZW50cnk+CisgICAgIDwvcm93Pgor ICAgIDwvdGhlYWQ+CisKKyAgICA8dGJvZHk+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxp dGVyYWw+dGFibGVfY2F0YWxvZzwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBl PnNxbF9pZGVudGlmaWVyPC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50cnk+TmFtZSBvZiB0aGUg ZGF0YWJhc2UgY29udGFpbmluZyB0aGUgcGVyaW9kIChhbHdheXMgdGhlIGN1cnJlbnQgZGF0YWJh c2UpPC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0 ZXJhbD50YWJsZV9zY2hlbWE8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5z cWxfaWRlbnRpZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHNj aGVtYSBjb250YWluaW5nIHRoZSBwZXJpb2Q8L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5PjxsaXRlcmFsPnRhYmxlX25hbWU8L2xpdGVyYWw+PC9lbnRyeT4K KyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRlbnRpZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAg PGVudHJ5Pk5hbWUgb2YgdGhlIHRhYmxlIGNvbnRhaW5pbmcgdGhlIHBlcmlvZDwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+cGVyaW9kX25h bWU8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRlbnRpZmllcjwv dHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHBlcmlvZDwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+c3RhcnRfY29s dW1uX25hbWU8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRlbnRp ZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHN0YXJ0IGNvbHVt biBmb3IgdGhlIHBlcmlvZDwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnk+PGxpdGVyYWw+ZW5kX2NvbHVtbl9uYW1lPC9saXRlcmFsPjwvZW50cnk+CisgICAg ICA8ZW50cnk+PHR5cGU+c3FsX2lkZW50aWZpZXI8L3R5cGU+PC9lbnRyeT4KKyAgICAgIDxlbnRy eT5OYW1lIG9mIHRoZSBlbmQgY29sdW1uIGZvciB0aGUgcGVyaW9kPC9lbnRyeT4KKyAgICAgPC9y b3c+CisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisK ICA8c2VjdDEgaWQ9ImluZm9zY2hlbWEtcmVmZXJlbnRpYWwtY29uc3RyYWludHMiPgogICA8dGl0 bGU+PGxpdGVyYWw+cmVmZXJlbnRpYWxfY29uc3RyYWludHM8L2xpdGVyYWw+PC90aXRsZT4KIApk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3BscGdzcWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9wbHBn c3FsLnNnbWwKaW5kZXggZjUxOTk4NzJlMmUuLmRhYjk4NjRjOTRiIDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvcGxwZ3NxbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwKQEAg LTQyNTIsNyArNDI1Miw3IEBAIEFTU0VSVCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ Y29uZGl0aW9uPC9yZXBsYWNlYWJsZT4gPG9wdGlvbmFsPiAsIDxyZXBsCiAgICAgIDx0ZXJtPjx2 YXJuYW1lPlRHX1BFUklPRF9OQU1FPC92YXJuYW1lPiA8dHlwZT50ZXh0PC90eXBlPjwvdGVybT4K ICAgICAgPGxpc3RpdGVtPgogICAgICAgPHBhcmE+Ci0gICAgICAgdGhlIGNvbHVtbiBuYW1lIHVz ZWQgaW4gYSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLAorICAgICAg IHRoZSBjb2x1bW4vcGVyaW9kIG5hbWUgdXNlZCBpbiBhIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9G PC9saXRlcmFsPiBjbGF1c2UsCiAgICAgICAgb3IgZWxzZSA8c3ltYm9sPk5VTEw8L3N5bWJvbD4u CiAgICAgICA8L3BhcmE+CiAgICAgIDwvbGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvcmVmL2FsdGVyX3RhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3RhYmxlLnNn bWwKaW5kZXggYmVhOWY5MDEzOGIuLjMzMDlhMGE5OTAxIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvcmVmL2FsdGVyX3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl90YWJs ZS5zZ21sCkBAIC02Miw2ICs2Miw4IEBAIEFMVEVSIFRBQkxFIFsgSUYgRVhJU1RTIF0gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogICAgIEFMVEVSIENP TlNUUkFJTlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwv cmVwbGFjZWFibGU+IFsgSU5IRVJJVCB8IE5PIElOSEVSSVQgXQogICAgIFZBTElEQVRFIENPTlNU UkFJTlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwvcmVw bGFjZWFibGU+CiAgICAgRFJPUCBDT05TVFJBSU5UIFsgSUYgRVhJU1RTIF0gIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxhY2VhYmxlPiBbIFJFU1RS SUNUIHwgQ0FTQ0FERSBdCisgICAgQUREIFBFUklPRCBGT1IgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gKCA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+c3RhcnRfY29sdW1uPC9yZXBsYWNlYWJsZT4sIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5lbmRfY29sdW1uPC9yZXBsYWNlYWJsZT4gKSBbIFdJVEggKCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGVyaW9kX29wdGlvbjwvcmVwbGFjZWFibGU+ID0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0g KSBdCisgICAgRFJPUCBQRVJJT0QgRk9SIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w ZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IFsgUkVTVFJJQ1QgfCBDQVNDQURFIF0KICAgICBESVNB QkxFIFRSSUdHRVIgWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dHJpZ2dlcl9uYW1l PC9yZXBsYWNlYWJsZT4gfCBBTEwgfCBVU0VSIF0KICAgICBFTkFCTEUgVFJJR0dFUiBbIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50cmlnZ2VyX25hbWU8L3JlcGxhY2VhYmxlPiB8IEFM TCB8IFVTRVIgXQogICAgIEVOQUJMRSBSRVBMSUNBIFRSSUdHRVIgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnRyaWdnZXJfbmFtZTwvcmVwbGFjZWFibGU+CkBAIC0xMTYsMTAgKzExOCwx MCBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJp Y19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogWyBDT05TVFJBSU5UIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxhY2VhYmxlPiBdCiB7IENIRUNL ICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJlc3Npb248L3JlcGxhY2VhYmxl PiApIFsgTk8gSU5IRVJJVCBdIHwKICAgTk9UIE5VTEwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWyBOTyBJTkhFUklUIF0gfAotICBVTklR VUUgWyBOVUxMUyBbIE5PVCBdIERJU1RJTkNUIF0gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBXSVRIT1VUIE9WRVJM QVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfcGFyYW1ldGVyczwv cmVwbGFjZWFibGU+IHwKLSAgUFJJTUFSWSBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBXSVRIT1VUIE9WRVJM QVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfcGFyYW1ldGVyczwv cmVwbGFjZWFibGU+IHwKKyAgVU5JUVVFIFsgTlVMTFMgWyBOT1QgXSBESVNUSU5DVCBdICggPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywg Li4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwv cmVwbGFjZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiB8CisgIFBSSU1BUlkgS0VZ ICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJs ZT4gWywgLi4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25h bWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rf bmFtZTwvcmVwbGFjZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiB8CiAgIEVYQ0xV REUgWyBVU0lORyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfbWV0aG9kPC9y ZXBsYWNlYWJsZT4gXSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leGNsdWRlX2Vs ZW1lbnQ8L3JlcGxhY2VhYmxlPiBXSVRIIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5v cGVyYXRvcjwvcmVwbGFjZWFibGU+IFssIC4uLiBdICkgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiBbIFdIRVJFICggPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnByZWRpY2F0ZTwvcmVwbGFjZWFibGU+ICkgXSB8Ci0gIEZP UkVJR04gS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9y ZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgUEVSSU9EIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IF0gKSBSRUZFUkVOQ0VTIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0YWJsZTwvcmVwbGFjZWFibGU+IFsgKCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gIFss IFBFUklPRCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNl YWJsZT4gXSApIF0KKyAgRk9SRUlHTiBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgeyA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gXSAp IFJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxlPC9yZXBs YWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48L3Jl cGxhY2VhYmxlPiBbLCAuLi4gXSAgWywgUEVSSU9EIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnJlZmNvbHVtbjwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkgXQogICAgIFsgTUFUQ0ggRlVM TCB8IE1BVENIIFBBUlRJQUwgfCBNQVRDSCBTSU1QTEUgXSBbIE9OIERFTEVURSA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSBb IE9OIFVQREFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0 aW9uPC9yZXBsYWNlYWJsZT4gXSB9CiBbIERFRkVSUkFCTEUgfCBOT1QgREVGRVJSQUJMRSBdIFsg SU5JVElBTExZIERFRkVSUkVEIHwgSU5JVElBTExZIElNTUVESUFURSBdIFsgRU5GT1JDRUQgfCBO T1QgRU5GT1JDRUQgXQogCkBAIC02MjQsNiArNjI2LDI5IEBAIFdJVEggKCBNT0RVTFVTIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwg UkVNCiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCisgICA8dmFybGlzdGVu dHJ5IGlkPSJzcWwtYWx0ZXJ0YWJsZS1kZXNjLWFkZC1wZXJpb2QiPgorICAgIDx0ZXJtPjxsaXRl cmFsPkFERCBQRVJJT0QgRk9SPC9saXRlcmFsPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAg IDxwYXJhPgorICAgICAgVGhpcyBmb3JtIGFkZHMgYSBuZXcgcGVyaW9kIHRvIGEgdGFibGUgdXNp bmcgdGhlIHNhbWUgc3ludGF4IGFzCisgICAgICA8eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRldGFi bGUiLz4uCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+ CisKKyAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1hbHRlcnRhYmxlLWRlc2MtZHJvcC1wZXJpb2Qi PgorICAgIDx0ZXJtPjxsaXRlcmFsPkRST1AgUEVSSU9EIEZPUjwvbGl0ZXJhbD48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoaXMgZm9ybSBkcm9wcyB0aGUgc3Bl Y2lmaWVkIHBlcmlvZCBvbiBhIHRhYmxlLiAgVGhlIHN0YXJ0IGFuZCBlbmQKKyAgICAgIGNvbHVt bnMgd2lsbCBub3QgYmUgZHJvcHBlZCBieSB0aGlzIGNvbW1hbmQgYnV0IHRoZQorICAgICAgPGxp dGVyYWw+Q0hFQ0s8L2xpdGVyYWw+IGNvbnN0cmFpbnQgd2lsbCBiZS4gIFlvdSB3aWxsIG5lZWQg dG8gc2F5CisgICAgICA8bGl0ZXJhbD5DQVNDQURFPC9saXRlcmFsPiBpZiBhbnl0aGluZyBvdXRz aWRlIHRoZSB0YWJsZSBkZXBlbmRzIG9uIHRoZQorICAgICAgY29sdW1uLgorICAgICA8L3BhcmE+ CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCiAgICA8dmFybGlzdGVudHJ5 IGlkPSJzcWwtYWx0ZXJ0YWJsZS1kZXNjLWRpc2FibGUtZW5hYmxlLXRyaWdnZXIiPgogICAgIDx0 ZXJtPjxsaXRlcmFsPkRJU0FCTEU8L2xpdGVyYWw+LzxsaXRlcmFsPkVOQUJMRSBbIFJFUExJQ0Eg fCBBTFdBWVMgXSBUUklHR0VSPC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NvbW1lbnQuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYv Y29tbWVudC5zZ21sCmluZGV4IDViNDNjNTZiMTMzLi40OWMyZGY5OTQ0OSAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL3JlZi9jb21tZW50LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jb21t ZW50LnNnbWwKQEAgLTQ0LDYgKzQ0LDcgQEAgQ09NTUVOVCBPTgogICBPUEVSQVRPUiA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3BlcmF0b3JfbmFtZTwvcmVwbGFjZWFibGU+ICg8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bGVmdF90eXBlPC9yZXBsYWNlYWJsZT4sIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yaWdodF90eXBlPC9yZXBsYWNlYWJsZT4pIHwKICAg T1BFUkFUT1IgQ0xBU1MgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm9iamVjdF9uYW1l PC9yZXBsYWNlYWJsZT4gVVNJTkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4 X21ldGhvZDwvcmVwbGFjZWFibGU+IHwKICAgT1BFUkFUT1IgRkFNSUxZIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5vYmplY3RfbmFtZTwvcmVwbGFjZWFibGU+IFVTSU5HIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9tZXRob2Q8L3JlcGxhY2VhYmxlPiB8CisgIFBF UklPRCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVsYXRpb25fbmFtZTwvcmVwbGFj ZWFibGU+LjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFj ZWFibGU+IHwKICAgUE9MSUNZIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wb2xpY3lf bmFtZTwvcmVwbGFjZWFibGU+IE9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJs ZV9uYW1lPC9yZXBsYWNlYWJsZT4gfAogICBbIFBST0NFRFVSQUwgXSBMQU5HVUFHRSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b2JqZWN0X25hbWU8L3JlcGxhY2VhYmxlPiB8CiAgIFBS T0NFRFVSRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHJvY2VkdXJlX25hbWU8L3Jl cGxhY2VhYmxlPiBbICggWyBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmdtb2Rl PC9yZXBsYWNlYWJsZT4gXSBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmduYW1l PC9yZXBsYWNlYWJsZT4gXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+YXJndHlwZTwv cmVwbGFjZWFibGU+IFssIC4uLl0gXSApIF0gfApAQCAtMzQxLDYgKzM0Miw3IEBAIENPTU1FTlQg T04gT1BFUkFUT1IgXiAodGV4dCwgdGV4dCkgSVMgJ1BlcmZvcm1zIGludGVyc2VjdGlvbiBvZiB0 d28gdGV4dHMnOwogQ09NTUVOVCBPTiBPUEVSQVRPUiAtIChOT05FLCBpbnRlZ2VyKSBJUyAnVW5h cnkgbWludXMnOwogQ09NTUVOVCBPTiBPUEVSQVRPUiBDTEFTUyBpbnQ0b3BzIFVTSU5HIGJ0cmVl IElTICc0IGJ5dGUgaW50ZWdlciBvcGVyYXRvcnMgZm9yIGJ0cmVlcyc7CiBDT01NRU5UIE9OIE9Q RVJBVE9SIEZBTUlMWSBpbnRlZ2VyX29wcyBVU0lORyBidHJlZSBJUyAnYWxsIGludGVnZXIgb3Bl cmF0b3JzIGZvciBidHJlZXMnOworQ09NTUVOVCBPTiBQRVJJT0QgbXlfdGFibGUubXlfY29sdW1u IElTICdTYWxlcyBwcm9tb3Rpb24gdmFsaWRpdHknOwogQ09NTUVOVCBPTiBQT0xJQ1kgbXlfcG9s aWN5IE9OIG15dGFibGUgSVMgJ0ZpbHRlciByb3dzIGJ5IHVzZXJzJzsKIENPTU1FTlQgT04gUFJP Q0VEVVJFIG15X3Byb2MgKGludGVnZXIsIGludGVnZXIpIElTICdSdW5zIGEgcmVwb3J0JzsKIENP TU1FTlQgT04gUFVCTElDQVRJT04gYWxsdGFibGVzIElTICdQdWJsaXNoZXMgYWxsIG9wZXJhdGlv bnMgb24gYWxsIHRhYmxlcyc7CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90 YWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbAppbmRleCA5NzVk NWRhYTBjMS4uZjNkY2RhNzhjZjQgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRl X3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbApAQCAt MjMsNiArMjMsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIDxzeW5vcHNpcz4KIENSRUFU RSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0g VEFCTEUgWyBJRiBOT1QgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRh YmxlX25hbWU8L3JlcGxhY2VhYmxlPiAoIFsKICAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT4gWyBTVE9SQUdFIHsgUExBSU4gfCBFWFRFUk5B TCB8IEVYVEVOREVEIHwgTUFJTiB8IERFRkFVTFQgfSBdIFsgQ09NUFJFU1NJT04gPHJlcGxhY2Vh YmxlPmNvbXByZXNzaW9uX21ldGhvZDwvcmVwbGFjZWFibGU+IF0gWyBDT0xMQVRFIDxyZXBsYWNl YWJsZT5jb2xsYXRpb248L3JlcGxhY2VhYmxlPiBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCisgICAgfCA8 cmVwbGFjZWFibGU+cGVyaW9kX2RlZmluaXRpb248L3JlcGxhY2VhYmxlPgogICAgIHwgPHJlcGxh Y2VhYmxlPnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPgogICAgIHwgTElLRSA8cmVwbGFj ZWFibGU+c291cmNlX3RhYmxlPC9yZXBsYWNlYWJsZT4gWyA8cmVwbGFjZWFibGU+bGlrZV9vcHRp b248L3JlcGxhY2VhYmxlPiAuLi4gXSB9CiAgICAgWywgLi4uIF0KQEAgLTM3LDYgKzM4LDcgQEAg Q1JFQVRFIFsgWyBHTE9CQUwgfCBMT0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dH RUQgXSBUQUJMRSBbIElGIE5PVCBFWEkKIENSRUFURSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRF TVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0gVEFCTEUgWyBJRiBOT1QgRVhJU1RTIF0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPgogICAg IE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50eXBlX25hbWU8L3JlcGxhY2VhYmxl PiBbICgKICAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiBbIFdJVEggT1BUSU9OUyBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCisgICAgfCA8cmVw bGFjZWFibGU+cGVyaW9kX2RlZmluaXRpb248L3JlcGxhY2VhYmxlPgogICAgIHwgPHJlcGxhY2Vh YmxlPnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiB9CiAgICAgWywgLi4uIF0KICkgXQpA QCAtNDksNiArNTEsNyBAQCBDUkVBVEUgWyBbIEdMT0JBTCB8IExPQ0FMIF0geyBURU1QT1JBUlkg fCBURU1QIH0gfCBVTkxPR0dFRCBdIFRBQkxFIFsgSUYgTk9UIEVYSQogQ1JFQVRFIFsgWyBHTE9C QUwgfCBMT0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dHRUQgXSBUQUJMRSBbIElG IE5PVCBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwv cmVwbGFjZWFibGU+CiAgICAgUEFSVElUSU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5wYXJlbnRfdGFibGU8L3JlcGxhY2VhYmxlPiBbICgKICAgeyA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbIFdJVEggT1BUSU9OUyBd IFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBs YWNlYWJsZT4gWyAuLi4gXSBdCisgICAgfCA8cmVwbGFjZWFibGU+cGVyaW9kX2RlZmluaXRpb248 L3JlcGxhY2VhYmxlPgogICAgIHwgPHJlcGxhY2VhYmxlPnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxh Y2VhYmxlPiB9CiAgICAgWywgLi4uIF0KICkgXSB7IEZPUiBWQUxVRVMgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnBhcnRpdGlvbl9ib3VuZF9zcGVjPC9yZXBsYWNlYWJsZT4gfCBERUZB VUxUIH0KQEAgLTczLDE1ICs3NiwyMCBAQCBDUkVBVEUgWyBbIEdMT0JBTCB8IExPQ0FMIF0geyBU RU1QT1JBUlkgfCBURU1QIH0gfCBVTkxPR0dFRCBdIFRBQkxFIFsgSUYgTk9UIEVYSQogICAgIFsg T04gREVMRVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZlcmVudGlhbF9hY3Rp b248L3JlcGxhY2VhYmxlPiBdIFsgT04gVVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5yZWZlcmVudGlhbF9hY3Rpb248L3JlcGxhY2VhYmxlPiBdIH0KIFsgREVGRVJSQUJMRSB8 IE5PVCBERUZFUlJBQkxFIF0gWyBJTklUSUFMTFkgREVGRVJSRUQgfCBJTklUSUFMTFkgSU1NRURJ QVRFIF0gWyBFTkZPUkNFRCB8IE5PVCBFTkZPUkNFRCBdCiAKKzxwaHJhc2U+YW5kIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfZGVmaW5pdGlvbjwvcmVwbGFjZWFibGU+IGlz OjwvcGhyYXNlPgorCitQRVJJT0QgRk9SIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfCBTWVNURU1fVElNRSB9ICggPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4sIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+ICkKK1sgV0lUSCAo IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJs ZT4gPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPiBb LCAuLi4gXSApIF0KKwogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KIAogWyBDT05TVFJB SU5UIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxh Y2VhYmxlPiBdCiB7IENIRUNLICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJl c3Npb248L3JlcGxhY2VhYmxlPiApIFsgTk8gSU5IRVJJVCBdIHwKICAgTk9UIE5VTEwgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWyBOTyBJ TkhFUklUIF0gfAotICBVTklRVUUgWyBOVUxMUyBbIE5PVCBdIERJU1RJTkNUIF0gKCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4g XSBbLCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2Vh YmxlPiBXSVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwKLSAgUFJJTUFSWSBLRVkgKCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4g XSBbLCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2Vh YmxlPiBXSVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwKKyAgVU5JUVVFIFsgTlVMTFMgWyBOT1Qg XSBESVNUSU5DVCBdICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1l PC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxl PiB8CisgIFBSSU1BUlkgS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVt bl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gIFdJVEhPVVQgT1ZFUkxBUFMg XSApIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9wYXJhbWV0ZXJzPC9yZXBs YWNlYWJsZT4gfAogICBFWENMVURFIFsgVVNJTkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmluZGV4X21ldGhvZDwvcmVwbGFjZWFibGU+IF0gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+ZXhjbHVkZV9lbGVtZW50PC9yZXBsYWNlYWJsZT4gV0lUSCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+b3BlcmF0b3I8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9wYXJhbWV0ZXJzPC9yZXBsYWNlYWJsZT4g WyBXSEVSRSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wcmVkaWNhdGU8L3JlcGxh Y2VhYmxlPiApIF0gfAotICBGT1JFSUdOIEtFWSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBdICkgUkVG RVJFTkNFUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmdGFibGU8L3JlcGxhY2Vh YmxlPiBbICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmNvbHVtbjwvcmVwbGFj ZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gXSApIF0KKyAgRk9SRUlHTiBLRVkgKCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBb LCBQRVJJT0QgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwv cmVwbGFjZWFibGU+IH0gXSApIFJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnJlZnRhYmxlPC9yZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5yZWZjb2x1bW48L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgeyA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gfCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPiB9IF0gKSBd CiAgICAgWyBNQVRDSCBGVUxMIHwgTUFUQ0ggUEFSVElBTCB8IE1BVENIIFNJTVBMRSBdIFsgT04g REVMRVRFIDxyZXBsYWNlYWJsZQogY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9u PC9yZXBsYWNlYWJsZT4gXSBbIE9OIFVQREFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSB9CiBbIERFRkVSUkFCTEUgfCBO T1QgREVGRVJSQUJMRSBdIFsgSU5JVElBTExZIERFRkVSUkVEIHwgSU5JVElBTExZIElNTUVESUFU RSBdIFsgRU5GT1JDRUQgfCBOT1QgRU5GT1JDRUQgXQpAQCAtMTQwLDYgKzE0OCwxNCBAQCBXSVRI ICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFs PC9yZXBsYWNlYWJsZT4sIFJFTQogICAgbmFtZSBhcyBhbnkgZXhpc3RpbmcgZGF0YSB0eXBlIGlu IHRoZSBzYW1lIHNjaGVtYS4KICAgPC9wYXJhPgogCisgIDxwYXJhPgorICAgUGVyaW9kcyBtYXkg YmUgZGVmaW5lZCBvbiB0YWJsZXMsIHNwZWNpZnlpbmcgdGhhdCB0d28gZXhpc3RpbmcgY29sdW1u cworICAgcmVwcmVzZW50IHN0YXJ0IGFuZCBlbmQgdmFsdWVzIGZvciB0aGUgcGVyaW9kLiAgUGVy aW9kcyBtYXkgaGF2ZSBhbnkgbmFtZQorICAgdGhhdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggYSBj b2x1bW4gbmFtZSwgYnV0IHRoZSBuYW1lCisgICA8bGl0ZXJhbD5TWVNURU1fVElNRTwvbGl0ZXJh bD4gaXMgc3BlY2lhbCwgdXNlZCBmb3IgdmVyc2lvbmluZyB0YWJsZXMuCisgICBTeXN0ZW0gcGVy aW9kcyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZC4gIFNlZSA8eHJlZiBsaW5rZW5kPSJkZGwtcGVy aW9kcyIvPiBmb3IgbW9yZSBkZXRhaWxzLgorICA8L3BhcmE+CisKICAgPHBhcmE+CiAgICBUaGUg b3B0aW9uYWwgY29uc3RyYWludCBjbGF1c2VzIHNwZWNpZnkgY29uc3RyYWludHMgKHRlc3RzKSB0 aGF0CiAgICBuZXcgb3IgdXBkYXRlZCByb3dzIG11c3Qgc2F0aXNmeSBmb3IgYW4gaW5zZXJ0IG9y IHVwZGF0ZSBvcGVyYXRpb24KQEAgLTgwMCw2ICs4MTYsMzcgQEAgV0lUSCAoIE1PRFVMVVMgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+ LCBSRU0KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgIDx2YXJsaXN0 ZW50cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1wZXJpb2QiPgorICAgIDx0ZXJtPjxsaXRl cmFsPlBFUklPRCBGT1IgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1l PC9yZXBsYWNlYWJsZT4gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25h bWU8L3JlcGxhY2VhYmxlPiwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9u YW1lPC9yZXBsYWNlYWJsZT4gKSBbIFdJVEggKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cGVyaW9kX29wdGlvbjwvcmVwbGFjZWFibGU+ID0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdPC9saXRlcmFsPjwvdGVybT4K KyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgQSBwZXJpb2QgZGVmaW5pdGlvbiBn aXZlcyBzZW1hbnRpYyBtZWFuaW5nIHRvIHR3byBleGlzdGluZyBjb2x1bW5zIG9mCisgICAgICB0 aGUgdGFibGUuICBJdCBkZWZpbmVzIGEgInN0YXJ0IGNvbHVtbiIgYW5kIGFuICJlbmQgY29sdW1u IiB3aGVyZSB0aGUKKyAgICAgIHN0YXJ0IHZhbHVlIGlzIHN0cmljdGx5IGxlc3MgdGhhbiB0aGUg ZW5kIHZhbHVlLiAgQQorICAgICAgPGxpdGVyYWw+Q0hFQ0s8L2xpdGVyYWw+IGNvbnN0cmFpbnQg aXMgYXV0b21hdGljYWxseSBjcmVhdGVkIHRvIGVuZm9yY2UKKyAgICAgIHRoaXMuICBZb3UgY2Fu IHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhhdCBjb25zdHJhaW50IHdpdGggdGhlCisgICAgICA8bGl0 ZXJhbD5jaGVja19jb25zdHJhaW50X25hbWU8L2xpdGVyYWw+IDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4uCisgICAgIDwvcGFyYT4KKwor ICAgICA8cGFyYT4KKyAgICAgIEJvdGggY29sdW1ucyBtdXN0IGhhdmUgZXhhY3RseSB0aGUgc2Ft ZSB0eXBlIGFuZCBtdXN0IGhhdmUgYSByYW5nZSB0eXBlCisgICAgICBkZWZpbmVkIGZyb20gdGhl aXIgYmFzZSB0eXBlLiAgSWYgdGhlcmUgYXJlIHNldmVyYWwgcmFuZ2UgdHlwZXMgZm9yIHRoYXQK KyAgICAgIGJhc2UgdHlwZSwgeW91IG11c3Qgc3BlY2lmeSB3aGljaCBvbmUgeW91IHdhbnQgYnkg dXNpbmcgdGhlCisgICAgICA8bGl0ZXJhbD5yYW5nZXR5cGU8L2xpdGVyYWw+IDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4uCisgICAgICBB bnkgYmFzZSB0eXBlIGlzIGFsbG93ZWQsIGFzIGxvbmcgYXMgaXQgaGFzIGEgcmFuZ2UgdHlwZSwg YWx0aG91Z2ggaXQgaXMKKyAgICAgIGV4cGVjdGVkIHRoYXQgbW9zdCBwZXJpb2RzIHdpbGwgdXNl IHRlbXBvcmFsIHR5cGVzIGxpa2UgPGxpdGVyYWw+dGltZXN0YW1wdHo8L2xpdGVyYWw+CisgICAg ICBvciA8bGl0ZXJhbD5kYXRlPC9saXRlcmFsPi4KKyAgICAgPC9wYXJhPgorCisgICAgIDxwYXJh PgorICAgICAgQSBoaWRkZW4gPGxpdGVyYWw+R0VORVJBVEVEPC9saXRlcmFsPiBjb2x1bW4gaXMg dXNlZCB0byBpbXBsZW1lbnQgdGhlIHBlcmlvZCwKKyAgICAgIHdpdGggdGhlIHNhbWUgbmFtZSBh cyB0aGUgcGVyaW9kLiAgSWYgc3VjaCBhIGNvbHVtbiBhbHJlYWR5IGV4aXN0cywgeW91CisgICAg ICBjYW4gdXNlIHRoZSA8bGl0ZXJhbD5jb2xleGlzdHM8L2xpdGVyYWw+IDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4KKyAgICAgIHdpdGgg dmFsdWUgPGxpdGVyYWw+dHJ1ZTwvbGl0ZXJhbD4gdG8gYXZvaWQgY3JlYXRpbmcgaXQuCisgICAg IDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2YXJs aXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1jb25zdHJhaW50Ij4KICAgICA8dGVy bT48bGl0ZXJhbD5DT05TVFJBSU5UIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25z dHJhaW50X25hbWU8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgPGxpc3RpdGVt PgpAQCAtMTE4NCw4ICsxMjMxLDggQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgIDx2YXJs aXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1yZWZlcmVuY2VzIj4KICAgICA8dGVy bT48bGl0ZXJhbD5SRUZFUkVOQ0VTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0 YWJsZTwvcmVwbGFjZWFibGU+IFsgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVm Y29sdW1uPC9yZXBsYWNlYWJsZT4gKSBdIFsgTUFUQ0ggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPm1hdGNodHlwZTwvcmVwbGFjZWFibGU+IF0gWyBPTiBERUxFVEUgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmVyZW50aWFsX2FjdGlvbjwvcmVwbGFjZWFibGU+IF0gWyBP TiBVUERBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmVyZW50aWFsX2FjdGlv bjwvcmVwbGFjZWFibGU+IF08L2xpdGVyYWw+IChjb2x1bW4gY29uc3RyYWludCk8L3Rlcm0+CiAK LSAgIDx0ZXJtPjxsaXRlcmFsPkZPUkVJR04gS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgUEVSSU9EIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IF0gKQot ICAgIFJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxlPC9y ZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48 L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnJlZmNvbHVtbjwvcmVwbGFjZWFibGU+IF0gKSBdCisgICA8dGVybT48bGl0ZXJhbD5G T1JFSUdOIEtFWSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwv cmVwbGFjZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkKKyAgICBSRUZFUkVOQ0VT IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0YWJsZTwvcmVwbGFjZWFibGU+IFsg KCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4g WywgLi4uIF0gWywgUEVSSU9EIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmNv bHVtbjwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlv ZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkgXQogICAgIFsgTUFUQ0ggPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPm1hdGNodHlwZTwvcmVwbGFjZWFibGU+IF0KICAgICBbIE9OIERFTEVU RSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBs YWNlYWJsZT4gXQogICAgIFsgT04gVVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5yZWZlcmVudGlhbF9hY3Rpb248L3JlcGxhY2VhYmxlPiBdPC9saXRlcmFsPgpAQCAtMTIwNSw3 ICsxMjUyLDcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAgPC9wYXJhPgogCiAgICAg IDxwYXJhPgotICAgICAgSWYgdGhlIGxhc3QgY29sdW1uIGlzIG1hcmtlZCB3aXRoIDxsaXRlcmFs PlBFUklPRDwvbGl0ZXJhbD4sIGl0IGlzCisgICAgICBJZiB0aGUgbGFzdCBrZXkgcGFydCBpcyBt YXJrZWQgd2l0aCA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LCBpdCBpcwogICAgICAgdHJlYXRl ZCBpbiBhIHNwZWNpYWwgd2F5LiAgV2hpbGUgdGhlIG5vbi08bGl0ZXJhbD5QRVJJT0Q8L2xpdGVy YWw+CiAgICAgICBjb2x1bW5zIGFyZSBjb21wYXJlZCBmb3IgZXF1YWxpdHkgKGFuZCB0aGVyZSBt dXN0IGJlIGF0IGxlYXN0IG9uZSBvZgogICAgICAgdGhlbSksIHRoZSA8bGl0ZXJhbD5QRVJJT0Q8 L2xpdGVyYWw+IGNvbHVtbiBpcyBub3QuICBJbnN0ZWFkLCB0aGUKQEAgLTEyMTMsOCArMTI2MCwx MCBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJp Y19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICAgcmVjb3JkcyAoYmFzZWQgb24gdGhl IG5vbi08bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHBhcnRzIG9mIHRoZSBrZXkpCiAgICAgICB3 aG9zZSBjb21iaW5lZCA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHZhbHVlcyBjb21wbGV0ZWx5 IGNvdmVyIHRoZQogICAgICAgcmVmZXJlbmNpbmcgcmVjb3JkJ3MuICBJbiBvdGhlciB3b3Jkcywg dGhlIHJlZmVyZW5jZSBtdXN0IGhhdmUgYQotICAgICAgcmVmZXJlbnQgZm9yIGl0cyBlbnRpcmUg ZHVyYXRpb24uICBUaGlzIGNvbHVtbiBtdXN0IGJlIGEgcmFuZ2Ugb3IKLSAgICAgIG11bHRpcmFu Z2UgdHlwZS4gIEluIGFkZGl0aW9uLCB0aGUgcmVmZXJlbmNlZCB0YWJsZSBtdXN0IGhhdmUgYSBw cmltYXJ5CisgICAgICByZWZlcmVudCBmb3IgaXRzIGVudGlyZSBkdXJhdGlvbi4gIFRoaXMgcGFy dCBtdXN0IGJlIGVpdGhlciBhIAorICAgICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxl LXBhcm1zLXBlcmlvZCI+PGxpdGVyYWw+UEVSSU9EPC9saXRlcmFsPjwvbGluaz4KKyAgICAgIG9y IGEgY29sdW1uIHdpdGggYSByYW5nZSBvciBtdWx0aXJhbmdlIHR5cGUuCisgICAgICBJbiBhZGRp dGlvbiwgdGhlIHJlZmVyZW5jZWQgdGFibGUgbXVzdCBoYXZlIGEgcHJpbWFyeQogICAgICAga2V5 IG9yIHVuaXF1ZSBjb25zdHJhaW50IGRlY2xhcmVkIHdpdGggPGxpdGVyYWw+V0lUSE9VVAogICAg ICAgT1ZFUkxBUFM8L2xpdGVyYWw+LiBGaW5hbGx5LCBpZiB0aGUgZm9yZWlnbiBrZXkgaGFzIGEg UEVSSU9ECiAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8 L3JlcGxhY2VhYmxlPiBzcGVjaWZpY2F0aW9uCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVm L2RlbGV0ZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbAppbmRleCBmNDI1MzA5 ZmQ1ZC4uY2I2ZjNiYmJlODIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvZGVsZXRlLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbApAQCAtMjMsNyArMjMsNyBAQCBQ b3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIDxzeW5vcHNpcz4KIFsgV0lUSCBbIFJFQ1VSU0lWRSBd IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj53aXRoX3F1ZXJ5PC9yZXBsYWNlYWJsZT4g WywgLi4uXSBdCiBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdCi0gICAgWyBGT1IgUE9SVElPTiBP RiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+ IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3Jl cGxhY2VhYmxlPiBdCisgICAgWyBGT1IgUE9SVElPTiBPRiA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cmFuZ2Vfb3JfcGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Zm9yX3BvcnRpb25fb2ZfdGFyZ2V0PC9yZXBsYWNlYWJsZT4gXQog ICAgIFsgWyBBUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlhczwvcmVwbGFj ZWFibGU+IF0KICAgICBbIFVTSU5HIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mcm9t X2l0ZW08L3JlcGxhY2VhYmxlPiBbLCAuLi5dIF0KICAgICBbIFdIRVJFIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5jb25kaXRpb248L3JlcGxhY2VhYmxlPiB8IFdIRVJFIENVUlJFTlQg T0YgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmN1cnNvcl9uYW1lPC9yZXBsYWNlYWJs ZT4gXQpAQCAtNTgsNyArNTgsOCBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICA8L3BhcmE+ CiAKICAgPHBhcmE+Ci0gICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBj b2x1bW4sCisgICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBjb2x1bW4s IG9yIGEKKyAgIDxsaW5rIGxpbmtlbmQ9ImRkbC1wZXJpb2RzLWFwcGxpY2F0aW9uLXBlcmlvZHMi PjxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD48L2xpbms+LAogICAgeW91IG1heSBzdXBwbHkgYSA8 bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLCBhbmQgeW91ciBkZWxldGUg d2lsbAogICAgb25seSBhZmZlY3Qgcm93cyB0aGF0IG92ZXJsYXAgdGhlIGdpdmVuIGludGVydmFs LiBGdXJ0aGVybW9yZSwgaWYgYSByb3cncyBoaXN0b3J5CiAgICBleHRlbmRzIG91dHNpZGUgdGhl IDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBib3VuZHMsIHRoZW4geW91ciBkZWxl dGUKQEAgLTE1NywxMCArMTU4LDEwIEBAIERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICA8L3Zh cmxpc3RlbnRyeT4KIAogICAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDx0 ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9vcl9wZXJpb2RfbmFtZTwv cmVwbGFjZWFibGU+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+Ci0gICAgICBU aGUgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBjb2x1bW4gdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRl bXBvcmFsIGRlbGV0ZS4KKyAgICAgIFRoZSByYW5nZSBvciBtdWx0aXJhbmdlIGNvbHVtbiBvciBw ZXJpb2QgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRlbXBvcmFsIGRlbGV0ZS4KICAgICAgPC9w YXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTE2OSwxNCArMTcw LDE0IEBAIERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+PC90ZXJt PgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+Ci0gICAgICBUaGUgaW50ZXJ2YWwgdG8gZGVs ZXRlLiBJZiB5b3UgYXJlIHRhcmdldGluZyBhIHJhbmdlIGNvbHVtbiwKKyAgICAgIFRoZSBpbnRl cnZhbCB0byBkZWxldGUuIElmIHlvdSBhcmUgdGFyZ2V0aW5nIGEgcmFuZ2UgY29sdW1uIG9yIDxs aXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4sCiAgICAgICB5b3UgbWF5IGdpdmUgdGhpcyBpbiB0aGUg Zm9ybSA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPgogICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnN0YXJ0X3RpbWU8L3JlcGxhY2VhYmxlPiA8bGl0ZXJhbD5UTzwvbGl0ZXJhbD4K ICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5lbmRfdGltZTwvcmVwbGFjZWFi bGU+LgogICAgICAgT3RoZXJ3aXNlIHlvdSBtdXN0IHVzZQogICAgICAgPGxpdGVyYWw+KDwvbGl0 ZXJhbD48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFi bGU+PGxpdGVyYWw+KTwvbGl0ZXJhbD4KICAgICAgIHdoZXJlIHRoZSBleHByZXNzaW9uIHlpZWxk cyBhIHZhbHVlIG9mIHRoZSBzYW1lIHR5cGUgYXMKLSAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uCisgICAgICA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vfb3JfcGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPi4KICAg ICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTE4Niw4 ICsxODcsOCBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICAgIDxsaXN0aXRlbT4KICAgICAg PHBhcmE+CiAgICAgICBUaGUgZWFybGllc3QgdGltZSAoaW5jbHVzaXZlKSB0byBjaGFuZ2UgaW4g YSB0ZW1wb3JhbCBkZWxldGUuCi0gICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRjaGluZyB0 aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBmcm9tCi0gICAgICA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LiBBCisgICAgICBUaGlzIG11c3Qg YmUgYSB2YWx1ZSBtYXRjaGluZyB0aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBvciBwZXJpb2Qg ZnJvbQorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3Blcmlv ZF9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKICAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhl cmUgaW5kaWNhdGVzIGEgZGVsZXRlIHdob3NlIGJlZ2lubmluZyBpcwogICAgICAgdW5ib3VuZGVk IChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KICAgICAgPC9wYXJhPgpAQCAtMTk5LDggKzIwMCw4IEBA IERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJs ZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICAgPGxpc3RpdGVtPgogICAgICA8cGFyYT4KICAg ICAgIFRoZSBsYXRlc3QgdGltZSAoZXhjbHVzaXZlKSB0byBjaGFuZ2UgaW4gYSB0ZW1wb3JhbCBk ZWxldGUuCi0gICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRjaGluZyB0aGUgYmFzZSB0eXBl IG9mIHRoZSByYW5nZSBmcm9tCi0gICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LiBBCisgICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBt YXRjaGluZyB0aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBvciBwZXJpb2QgZnJvbQorICAgICAg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3BlcmlvZF9uYW1lPC9yZXBs YWNlYWJsZT4uIEEKICAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVz IGEgZGVsZXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKICAgICAgIChhcyB3aXRoIHJhbmdlIHR5 cGVzKS4KICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUu c2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKaW5kZXggYWQzMjI0YzJkZjIuLjJh ZTMzMTY3NzdmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKQEAgLTIzLDcgKzIzLDcgQEAgUG9zdGdyZVNR TCBkb2N1bWVudGF0aW9uCiA8c3lub3BzaXM+CiBbIFdJVEggWyBSRUNVUlNJVkUgXSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+d2l0aF9xdWVyeTwvcmVwbGFjZWFibGU+IFssIC4uLl0g XQogVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9u YW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KLSAgICBbIEZPUiBQT1JUSU9OIE9GIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+IF0K KyAgICBbIEZPUiBQT1JUSU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5n ZV9vcl9wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPiBdCiAgICAgWyBbIEFTIF0g PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFsaWFzPC9yZXBsYWNlYWJsZT4gXQogICAg IFNFVCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFj ZWFibGU+ID0geyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVw bGFjZWFibGU+IHwgREVGQVVMVCB9IHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9IFsgUk9XIF0g KCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJs ZT4gfCBERUZBVUxUIH0gWywgLi4uXSApIHwKQEAgLTU1LDcgKzU1LDggQEAgVVBEQVRFIFsgT05M WSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJs ZT4gWyAqIF0KICAgPC9wYXJhPgogCiAgIDxwYXJhPgotICAgSWYgdGhlIHRhYmxlIGhhcyBhIHJh bmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uLAorICAgSWYgdGhlIHRhYmxlIGhhcyBhIHJhbmdlIG9y IG11bHRpcmFuZ2UgY29sdW1uLCBvciBhCisgICA8bGluayBsaW5rZW5kPSJkZGwtcGVyaW9kcy1h cHBsaWNhdGlvbi1wZXJpb2RzIj48bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+PC9saW5rPiwKICAg IHlvdSBtYXkgc3VwcGx5IGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVz ZSwgYW5kIHlvdXIgdXBkYXRlIHdpbGwKICAgIG9ubHkgYWZmZWN0IHJvd3MgdGhhdCBvdmVybGFw IHRoZSBnaXZlbiBpbnRlcnZhbC4gRnVydGhlcm1vcmUsIGlmIGEgcm93J3MgaGlzdG9yeQogICAg ZXh0ZW5kcyBvdXRzaWRlIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91 bmRzLCB0aGVuIHlvdXIgdXBkYXRlCkBAIC0xNTgsMTAgKzE1OSwxMCBAQCBVUERBVEUgWyBPTkxZ IF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxl PiBbICogXQogICAgPC92YXJsaXN0ZW50cnk+CiAKICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRl cm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX25hbWU8L3JlcGxhY2VhYmxl PjwvdGVybT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vf b3JfcGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAgICAg IDxwYXJhPgotICAgICAgVGhlIHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uIHRvIHVzZSB3aGVu IHBlcmZvcm1pbmcgYSB0ZW1wb3JhbCB1cGRhdGUuCisgICAgICBUaGUgcmFuZ2Ugb3IgbXVsdGly YW5nZSBjb2x1bW4gb3IgcGVyaW9kIHRvIHVzZSB3aGVuIHBlcmZvcm1pbmcgYSB0ZW1wb3JhbCB1 cGRhdGUuCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+ CkBAIC0xNzAsMTQgKzE3MSwxNCBAQCBVUERBVEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXQogICAgIDx0ZXJtPjxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxh Y2VhYmxlPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxwYXJhPgotICAgICAgVGhlIGlu dGVydmFsIHRvIHVwZGF0ZS4gSWYgeW91IGFyZSB0YXJnZXRpbmcgYSByYW5nZSBjb2x1bW4sCisg ICAgICBUaGUgaW50ZXJ2YWwgdG8gdXBkYXRlLiBJZiB5b3UgYXJlIHRhcmdldGluZyBhIHJhbmdl IGNvbHVtbiBvciA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LAogICAgICAgeW91IG1heSBnaXZl IHRoaXMgaW4gdGhlIGZvcm0gPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4KICAgICAgIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFydF90aW1lPC9yZXBsYWNlYWJsZT4gPGxpdGVyYWw+ VE88L2xpdGVyYWw+CiAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3Rp bWU8L3JlcGxhY2VhYmxlPi4KICAgICAgIE90aGVyd2lzZSB5b3UgbXVzdCB1c2UKICAgICAgIDxs aXRlcmFsPig8L2xpdGVyYWw+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJlc3Np b248L3JlcGxhY2VhYmxlPjxsaXRlcmFsPik8L2xpdGVyYWw+CiAgICAgICB3aGVyZSB0aGUgZXhw cmVzc2lvbiB5aWVsZHMgYSB2YWx1ZSBvZiB0aGUgc2FtZSB0eXBlIGFzCi0gICAgICA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LgorICAgICAg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3BlcmlvZF9uYW1lPC9yZXBs YWNlYWJsZT4uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50 cnk+CkBAIC0xODcsOCArMTg4LDggQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgICA8bGlzdGl0 ZW0+CiAgICAgIDxwYXJhPgogICAgICAgVGhlIGVhcmxpZXN0IHRpbWUgKGluY2x1c2l2ZSkgdG8g Y2hhbmdlIGluIGEgdGVtcG9yYWwgdXBkYXRlLgotICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUg bWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2UgZnJvbQotICAgICAgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX25hbWU8L3JlcGxhY2VhYmxlPi4gQQorICAgICAg VGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2Ug b3IgcGVyaW9kIGZyb20KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5n ZV9vcl9wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+LiBBCiAgICAgICA8bGl0ZXJhbD5OVUxMPC9s aXRlcmFsPiBoZXJlIGluZGljYXRlcyBhbiB1cGRhdGUgd2hvc2UgYmVnaW5uaW5nIGlzCiAgICAg ICB1bmJvdW5kZWQgKGFzIHdpdGggcmFuZ2UgdHlwZXMpLgogICAgICA8L3BhcmE+CkBAIC0yMDAs OCArMjAxLDggQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxw YXJhPgogICAgICAgVGhlIGxhdGVzdCB0aW1lIChleGNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRl bXBvcmFsIHVwZGF0ZS4KLSAgICAgIFRoaXMgbXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBi YXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KLSAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAgICAgIFRoaXMgbXVzdCBiZSBh IHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIG9yIHBlcmlvZCBmcm9t CisgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vfb3JfcGVyaW9kX25h bWU8L3JlcGxhY2VhYmxlPi4gQQogICAgICAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4gaGVyZSBp bmRpY2F0ZXMgYW4gdXBkYXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKICAgICAgIChhcyB3aXRo IHJhbmdlIHR5cGVzKS4KICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Rl bXBvcmFsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbAppbmRleCAzYjU2NDI2NDZl Ny4uNGZiNWQ3MTNmNjUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCkBAIC0zNywxMCArMzcsMTMgQEAKICAgIEFw cGxpY2F0aW9uLXRpbWUgcGVyaW9kcyBhcmUgcmVmZXJlbmNlZCBpbiBzZXZlcmFsIHRlbXBvcmFs IG9wZXJhdGlvbnMgZGVzY3JpYmVkIGluCiAgICB0aGlzIGNoYXB0ZXI6IHRlbXBvcmFsIHByaW1h cnkga2V5cywgdW5pcXVlIGNvbnN0cmFpbnRzLCBmb3JlaWduIGtleXMsCiAgICB1cGRhdGUgY29t bWFuZHMsIGFuZCBkZWxldGUgY29tbWFuZHMuCi0gICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwv cHJvZHVjdG5hbWU+IGRvZXMgbm90IHlldCBzdXBwb3J0IHBlcmlvZHMuCi0gICBDb21tYW5kcyB0 aGF0IGFjY2VwdCBwZXJpb2RzIGluc3RlYWQgYWNjZXB0IGNvbHVtbnMgd2l0aCBhCi0gICA8bGlu ayBsaW5rZW5kPSJyYW5nZXR5cGVzLWJ1aWx0aW4iPnJhbmdldHlwZSBvciBtdWx0aXJhbmdldHlw ZTwvbGluaz4uCi0gICBTdXBwb3J0IGZvciBwZXJpb2RzIGlzIHBsYW5uZWQgZm9yIHRoZSBmdXR1 cmUuCisgICBJbiBhbGwgY2FzZXMsIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFt ZT4gc3VwcG9ydHMgZWl0aGVyIHBlcmlvZHMKKyAgIG9yIHJlZ3VsYXIgY29sdW1ucyB3aXRoIGEg PGxpbmsgbGlua2VuZD0icmFuZ2V0eXBlcy1idWlsdGluIj5yYW5nZXR5cGUgb3IKKyAgIG11bHRp cmFuZ2V0eXBlPC9saW5rPi4KKyAgPC9wYXJhPgorCisgIDxwYXJhPgorICAgU3lzdGVtLXRpbWUg cGVyaW9kcyBhcmUgbm90IHlldCBzdXBwb3J0ZWQsIGJ1dCBhcmUgcGxhbm5lZCBmb3IgdGhlIGZ1 dHVyZS4KICAgPC9wYXJhPgogIDwvc2VjdDE+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC90 cmlnZ2VyLnNnbWwgYi9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sCmluZGV4IDAwNDRhOTdhM2Zk Li5kYTlhZTBmZmVmZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbAorKysg Yi9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sCkBAIC04NjAsMTYgKzg2MCwyMSBAQCB0eXBlZGVm IHN0cnVjdCBGb3JQb3J0aW9uT2ZTdGF0ZQogCiAgICAgY2hhciAgICAgICAqZnBfcmFuZ2VOYW1l OyAgIC8qIHRoZSBjb2x1bW4gbmFtZWQgaW4gRk9SIFBPUlRJT04gT0YgKi8KICAgICBPaWQgICAg ICAgICBmcF9yYW5nZVR5cGU7ICAgLyogdGhlIHR5cGUgb2YgdGhlIEZPUiBQT1JUSU9OIE9GIGV4 cHJlc3Npb24gKi8KLSAgICBpbnQgICAgICAgICBmcF9yYW5nZUF0dG5vOyAgLyogdGhlIGF0dG5v IG9mIHRoZSByYW5nZSBjb2x1bW4gKi8KKyAgICBpbnQgICAgICAgICBmcF9yYW5nZUF0dG5vOyAg LyogdGhlIGF0dG5vIG9mIHRoZSByYW5nZSBjb2x1bW4gKG9yIDAgZm9yIGEgUEVSSU9EKSAqLwor ICAgIGludCAgICAgICAgIGZwX3BlcmlvZFN0YXJ0QXR0bm87ICAgIC8qIHRoZSBhdHRubyBvZiB0 aGUgUEVSSU9EIHN0YXJ0IGNvbHVtbiAob3IgMCBmb3IgYSByYW5nZSkgKi8KKyAgICBpbnQgICAg ICAgICBmcF9wZXJpb2RFbmRBdHRubzsgICAgICAvKiB0aGUgYXR0bm8gb2YgdGhlIFBFUklPRCBl bmQgY29sdW1uIChvciAwIGZvciBhIHJhbmdlKSAqLwogICAgIERhdHVtICAgICAgIGZwX3Rhcmdl dFJhbmdlOyAvKiB0aGUgcmFuZ2UvbXVsdGlyYW5nZSBmcm9tIEZPUiBQT1JUSU9OIE9GICovCiAg ICAgVHlwZUNhY2hlRW50cnkgKmZwX2xlZnRvdmVyc3R5cGNhY2hlOyAgIC8qIHR5cGUgY2FjaGUg ZW50cnkgb2YgdGhlIHJhbmdlICovCiB9IEZvclBvcnRpb25PZlN0YXRlOwogPC9wcm9ncmFtbGlz dGluZz4KIAotICAgICAgIHdoZXJlIDxzdHJ1Y3RmaWVsZD5mcF9yYW5nZU5hbWU8L3N0cnVjdGZp ZWxkPiBpcyB0aGUgcmFuZ2UKKyAgICAgICB3aGVyZSA8c3RydWN0ZmllbGQ+ZnBfcmFuZ2VOYW1l PC9zdHJ1Y3RmaWVsZD4gaXMgdGhlIHBlcmlvZCBvciByYW5nZQogICAgICAgIGNvbHVtbiBuYW1l ZCBpbiB0aGUgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVzZSwKICAgICAg ICA8c3RydWN0ZmllbGQ+ZnBfcmFuZ2VUeXBlPC9zdHJ1Y3RmaWVsZD4gaXMgaXRzIHJhbmdlIHR5 cGUsCiAgICAgICAgPHN0cnVjdGZpZWxkPmZwX3JhbmdlQXR0bm88L3N0cnVjdGZpZWxkPiBpcyBp dHMgYXR0cmlidXRlIG51bWJlciwKKyAgICAgICA8c3RydWN0ZmllbGQ+ZnBfcGVyaW9kU3RhcnRB dHRubzwvc3RydWN0ZmllbGQ+IGFuZAorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcF9wZXJpb2RFbmRB dHRubzwvc3RydWN0ZmllbGQ+IGFyZSB0aGUgYXR0bm9zIG9mIHRoZSBwZXJpb2QncworICAgICAg IHN0YXJ0IGFuZCBlbmQgY29sdW1ucyAob3IgPHN5bWJvbD4wPC9zeW1ib2w+IGlmIGEgcmFuZ2Ug Y29sdW1uIHdhcyB1c2VkKSwKICAgICAgICBhbmQgPHN0cnVjdGZpZWxkPmZwX3RhcmdldFJhbmdl PC9zdHJ1Y3RmaWVsZD4gaXMgYSByYW5nZXR5cGUgdmFsdWUgY3JlYXRlZAogICAgICAgIGJ5IGV2 YWx1YXRpbmcgdGhlIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBib3VuZHMuCiAg ICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9NYWtlZmlsZSBi L3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUKaW5kZXggYzA5MDA5NGVkMDguLjUzZWI2NzAz NGYzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxlCisrKyBiL3NyYy9i YWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUKQEAgLTM5LDYgKzM5LDcgQEAgT0JKUyA9IFwKIAlwZ19u YW1lc3BhY2UubyBcCiAJcGdfb3BlcmF0b3IubyBcCiAJcGdfcGFyYW1ldGVyX2FjbC5vIFwKKwlw Z19wZXJpb2QubyBcCiAJcGdfcHJvYy5vIFwKIAlwZ19wdWJsaWNhdGlvbi5vIFwKIAlwZ19yYW5n ZS5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvYWNsY2hrLmMgYi9zcmMvYmFj a2VuZC9jYXRhbG9nL2FjbGNoay5jCmluZGV4IGNkMTM5YmQ2NWE2Li44ZDAwNmE4MzBkNiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsuYworKysgYi9zcmMvYmFja2VuZC9j YXRhbG9nL2FjbGNoay5jCkBAIC0yNzc0LDYgKzI3NzQsNyBAQCBhY2xjaGVja19lcnJvcihBY2xS ZXN1bHQgYWNsZXJyLCBPYmplY3RUeXBlIG9ianR5cGUsCiAJCQkJCWNhc2UgT0JKRUNUX0RFRkFV TFQ6CiAJCQkJCWNhc2UgT0JKRUNUX0RFRkFDTDoKIAkJCQkJY2FzZSBPQkpFQ1RfRE9NQ09OU1RS QUlOVDoKKwkJCQkJY2FzZSBPQkpFQ1RfUEVSSU9EOgogCQkJCQljYXNlIE9CSkVDVF9QVUJMSUNB VElPTl9OQU1FU1BBQ0U6CiAJCQkJCWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9OX1JFTDoKIAkJCQkJ Y2FzZSBPQkpFQ1RfUk9MRToKQEAgLTI5MTUsNiArMjkxNiw3IEBAIGFjbGNoZWNrX2Vycm9yKEFj bFJlc3VsdCBhY2xlcnIsIE9iamVjdFR5cGUgb2JqdHlwZSwKIAkJCQkJY2FzZSBPQkpFQ1RfREVG QUNMOgogCQkJCQljYXNlIE9CSkVDVF9ET01DT05TVFJBSU5UOgogCQkJCQljYXNlIE9CSkVDVF9Q QVJBTUVURVJfQUNMOgorCQkJCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCQkJCWNhc2UgT0JKRUNU X1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKIAkJCQkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fUkVM OgogCQkJCQljYXNlIE9CSkVDVF9ST0xFOgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9kZXBlbmRlbmN5LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVuY3kuYwppbmRleCA3 ZGRlZDYzNGViOC4uMDExMWRmNjA4MWQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv ZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCkBAIC00 OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19vcGVyYXRvci5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfb3BmYW1pbHkuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3BhcmFtZXRlcl9h Y2wuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3BlcmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cv cGdfcG9saWN5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9wZ19wdWJsaWNhdGlvbi5oIgpAQCAtNjIyLDYgKzYyMywxNCBAQCBmaW5kRGVwZW5kZW50 T2JqZWN0cyhjb25zdCBPYmplY3RBZGRyZXNzICpvYmplY3QsCiAJCQkJCQlyZXR1cm47CiAJCQkJ CX0KIAorCQkJCQkvKgorCQkJCQkgKiBJZiBhIHRhYmxlIGF0dHJpYnV0ZSBpcyBhbiBpbnRlcm5h bCBwYXJ0IG9mIHNvbWV0aGluZworCQkJCQkgKiBlbHNlIChlLmcuIHRoZSBHRU5FUkFURUQgY29s dW1uIHVzZWQgYnkgYSBQRVJJT0QpLCBhbmQKKwkJCQkJICogd2UgYXJlIGRlbGV0aW5nIHRoZSB3 aG9sZSB0YWJsZSwgdGhlbiBpdCdzIG9rYXkuCisJCQkJCSAqLworCQkJCQlpZiAoZm91bmREZXAt Pm9ianN1YmlkICYmICFvYmplY3QtPm9iamVjdFN1YklkKQorCQkJCQkJYnJlYWs7CisKIAkJCQkJ LyoKIAkJCQkJICogV2UgcG9zdHBvbmUgYWN0dWFsbHkgaXNzdWluZyB0aGUgZXJyb3IgbWVzc2Fn ZSB1bnRpbAogCQkJCQkgKiBhZnRlciB0aGlzIGxvb3AsIHNvIHRoYXQgd2UgY2FuIG1ha2UgdGhl IGJlaGF2aW9yCkBAIC0xNDAwLDYgKzE0MDksMTAgQEAgZG9EZWxldGlvbihjb25zdCBPYmplY3RB ZGRyZXNzICpvYmplY3QsIGludCBmbGFncykKIAkJCVJlbW92ZUF0dHJEZWZhdWx0QnlJZChvYmpl Y3QtPm9iamVjdElkKTsKIAkJCWJyZWFrOwogCisJCWNhc2UgUGVyaW9kUmVsYXRpb25JZDoKKwkJ CVJlbW92ZVBlcmlvZEJ5SWQob2JqZWN0LT5vYmplY3RJZCk7CisJCQlicmVhazsKKwogCQljYXNl IExhcmdlT2JqZWN0UmVsYXRpb25JZDoKIAkJCUxhcmdlT2JqZWN0RHJvcChvYmplY3QtPm9iamVj dElkKTsKIAkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMg Yi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwppbmRleCBmZDY1Mzc1NjdlYS4uOTljZGE4MDlk MDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCisrKyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvaGVhcC5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9w Z19uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wY2xhc3MuaCIKICNpbmNsdWRl ICJjYXRhbG9nL3BnX3BhcnRpdGlvbmVkX3RhYmxlLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19w ZXJpb2QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3N0YXRpc3RpYy5oIgogI2luY2x1ZGUgImNh dGFsb2cvcGdfc3Vic2NyaXB0aW9uX3JlbC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfdGFibGVz cGFjZS5oIgpAQCAtMjEzNSw2ICsyMTM2LDgwIEBAIFNldEF0dHJNaXNzaW5nKE9pZCByZWxpZCwg Y2hhciAqYXR0bmFtZSwgY2hhciAqdmFsdWUpCiAJdGFibGVfY2xvc2UodGFibGVyZWwsIEFjY2Vz c0V4Y2x1c2l2ZUxvY2spOwogfQogCisvKgorICogU3RvcmUgYSBwZXJpb2Qgb2YgcmVsYXRpb24g cmVsLgorICoKKyAqIFJldHVybnMgdGhlIE9JRCBvZiB0aGUgbmV3IHBnX3BlcmlvZCB0dXBsZS4K KyAqLworT2lkCitTdG9yZVBlcmlvZChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBlcmlvZG5h bWUsIEF0dHJOdW1iZXIgc3RhcnRudW0sCisJCQlBdHRyTnVtYmVyIGVuZG51bSwgQXR0ck51bWJl ciByYW5nZW51bSwgT2lkIGNvbm9pZCkKK3sKKwlEYXR1bQkJdmFsdWVzW05hdHRzX3BnX3Blcmlv ZF07CisJYm9vbAkJbnVsbHNbTmF0dHNfcGdfcGVyaW9kXTsKKwlSZWxhdGlvbglwZ19wZXJpb2Q7 CisJSGVhcFR1cGxlCXR1cGxlOworCU9pZAkJCW9pZDsKKwlOYW1lRGF0YQlwZXJuYW1lOworCU9i amVjdEFkZHJlc3MgbXlzZWxmLAorCQkJCXJlZmVyZW5jZWQ7CisKKwlBc3NlcnQocmFuZ2VudW0g IT0gSW52YWxpZEF0dHJOdW1iZXIpOworCisJbmFtZXN0cmNweSgmcGVybmFtZSwgcGVyaW9kbmFt ZSk7CisKKwlNZW1TZXQodmFsdWVzLCAwLCBzaXplb2YodmFsdWVzKSk7CisJTWVtU2V0KG51bGxz LCBmYWxzZSwgc2l6ZW9mKG51bGxzKSk7CisKKwlwZ19wZXJpb2QgPSB0YWJsZV9vcGVuKFBlcmlv ZFJlbGF0aW9uSWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworCisJb2lkID0gR2V0TmV3T2lkV2l0aElu ZGV4KHBnX3BlcmlvZCwgQXR0ckRlZmF1bHRPaWRJbmRleElkLCBBbnVtX3BnX3BlcmlvZF9vaWQp OworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9vaWQgLSAxXSA9IE9iamVjdElkR2V0RGF0dW0ob2lk KTsKKwl2YWx1ZXNbQW51bV9wZ19wZXJpb2RfcGVybmFtZSAtIDFdID0gTmFtZUdldERhdHVtKCZw ZXJuYW1lKTsKKwl2YWx1ZXNbQW51bV9wZ19wZXJpb2RfcGVycmVsaWQgLSAxXSA9IFJlbGF0aW9u R2V0UmVsaWQocmVsKTsKKwl2YWx1ZXNbQW51bV9wZ19wZXJpb2RfcGVyc3RhcnQgLSAxXSA9IHN0 YXJ0bnVtOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJlbmQgLSAxXSA9IGVuZG51bTsKKwl2 YWx1ZXNbQW51bV9wZ19wZXJpb2RfcGVycmFuZ2UgLSAxXSA9IHJhbmdlbnVtOworCXZhbHVlc1tB bnVtX3BnX3BlcmlvZF9wZXJjb25zdHJhaW50IC0gMV0gPSBjb25vaWQ7CisKKwl0dXBsZSA9IGhl YXBfZm9ybV90dXBsZShSZWxhdGlvbkdldERlc2NyKHBnX3BlcmlvZCksIHZhbHVlcywgbnVsbHMp OworCUNhdGFsb2dUdXBsZUluc2VydChwZ19wZXJpb2QsIHR1cGxlKTsKKworCU9iamVjdEFkZHJl c3NTZXQobXlzZWxmLCBQZXJpb2RSZWxhdGlvbklkLCBvaWQpOworCisJLyogRHJvcCB0aGUgcGVy aW9kIHdoZW4gdGhlIHRhYmxlIGlzIGRyb3BwZWQuICovCisJT2JqZWN0QWRkcmVzc1NldChyZWZl cmVuY2VkLCBSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7CisJcmVj b3JkRGVwZW5kZW5jeU9uKCZteXNlbGYsICZyZWZlcmVuY2VkLCBERVBFTkRFTkNZX0FVVE8pOwor CisJLyogRm9yYmlkIGRyb3BwaW5nIHRoZSBjb2x1bW5zIG9mIHRoZSBwZXJpb2QuICovCisJT2Jq ZWN0QWRkcmVzc1N1YlNldChyZWZlcmVuY2VkLCBSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9u R2V0UmVsaWQocmVsKSwgc3RhcnRudW0pOworCXJlY29yZERlcGVuZGVuY3lPbigmbXlzZWxmLCAm cmVmZXJlbmNlZCwgREVQRU5ERU5DWV9OT1JNQUwpOworCU9iamVjdEFkZHJlc3NTdWJTZXQocmVm ZXJlbmNlZCwgUmVsYXRpb25SZWxhdGlvbklkLCBSZWxhdGlvbkdldFJlbGlkKHJlbCksIGVuZG51 bSk7CisJcmVjb3JkRGVwZW5kZW5jeU9uKCZteXNlbGYsICZyZWZlcmVuY2VkLCBERVBFTkRFTkNZ X05PUk1BTCk7CisKKwkvKgorCSAqIFRoZSByYW5nZSBjb2x1bW4gaXMgYW4gaW1wbGVtZW50YXRp b24gZGV0YWlsLCBidXQgd2UgY2FuJ3QgdXNlCisJICogREVQRU5ERU5DWV9JTlRFUk5BTCBiZWNh dXNlIGRyb3BwaW5nIHRoZSB0YWJsZSB3aWxsIGNoZWNrIGZvcgorCSAqIGRlcGVuZGVuY2llcyBv biBhbGwgc3Vib2JqZWN0cyB0b28gKGluIGZpbmREZXBlbmRlbnRPYmplY3RzKS4gQnV0IGlmIHdl CisJICogbWFrZSBhbiBBVVRPIGRlcGVuZGVuY3kgb25lIHdheSB3ZSB3aWxsIGF1dG8tZHJvcCB0 aGUgY29sdW1uIHdoZW4gd2UKKwkgKiBkcm9wIHRoZSBQRVJJT0QsIGFuZCBhIE5PUk1BTCBkZXBl bmRlbmN5IHRoZSBvdGhlciB3YXkgd2Ugd2lsbCBmb3JiaWQKKwkgKiBkcm9wcGluZyB0aGUgY29s dW1uIGRpcmVjdGx5LgorCSAqLworCU9iamVjdEFkZHJlc3NTdWJTZXQocmVmZXJlbmNlZCwgUmVs YXRpb25SZWxhdGlvbklkLCBSZWxhdGlvbkdldFJlbGlkKHJlbCksIHJhbmdlbnVtKTsKKwlyZWNv cmREZXBlbmRlbmN5T24oJnJlZmVyZW5jZWQsICZteXNlbGYsIERFUEVOREVOQ1lfSU5URVJOQUwp OworCisJLyoKKwkgKiBUaGUgY29uc3RyYWludCBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWws IHNvIHdlIG1hcmsgaXQgYXMgc3VjaC4KKwkgKiAoTm90ZSB0aGF0IG15c2VsZiBhbmQgcmVmZXJl bmNlZCBhcmUgcmV2ZXJzZWQgZm9yIHRoaXMgb25lLikKKwkgKi8KKwlPYmplY3RBZGRyZXNzU2V0 KHJlZmVyZW5jZWQsIENvbnN0cmFpbnRSZWxhdGlvbklkLCBjb25vaWQpOworCXJlY29yZERlcGVu ZGVuY3lPbigmcmVmZXJlbmNlZCwgJm15c2VsZiwgREVQRU5ERU5DWV9JTlRFUk5BTCk7CisKKwl0 YWJsZV9jbG9zZShwZ19wZXJpb2QsIFJvd0V4Y2x1c2l2ZUxvY2spOworCisJcmV0dXJuIG9pZDsK K30KKwogLyoKICAqIFN0b3JlIGEgY2hlY2stY29uc3RyYWludCBleHByZXNzaW9uIGZvciB0aGUg Z2l2ZW4gcmVsYXRpb24uCiAgKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmZv cm1hdGlvbl9zY2hlbWEuc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmZvcm1hdGlvbl9zY2hl bWEuc3FsCmluZGV4IGE3YmZmY2E5M2QxLi4yODJlYWQ2ZWQ0YyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9pbmZvcm1hdGlvbl9zY2hlbWEuc3FsCisrKyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvaW5mb3JtYXRpb25fc2NoZW1hLnNxbApAQCAtMTIwNyw3ICsxMjA3LDI4IEBAIEdSQU5U IFNFTEVDVCBPTiBwYXJhbWV0ZXJzIFRPIFBVQkxJQzsKICAqIFBFUklPRFMgdmlldwogICovCiAK LS0tIGZlYXR1cmUgbm90IHN1cHBvcnRlZAorQ1JFQVRFIFZJRVcgcGVyaW9kcyBBUworICAgIFNF TEVDVCBjdXJyZW50X2RhdGFiYXNlKCk6OmluZm9ybWF0aW9uX3NjaGVtYS5zcWxfaWRlbnRpZmll ciBBUyB0YWJsZV9jYXRhbG9nLAorICAgICAgICAgICBuYy5uc3BuYW1lOjppbmZvcm1hdGlvbl9z Y2hlbWEuc3FsX2lkZW50aWZpZXIgQVMgdGFibGVfc2NoZW1hLAorICAgICAgICAgICBjLnJlbG5h bWU6OmluZm9ybWF0aW9uX3NjaGVtYS5zcWxfaWRlbnRpZmllciBBUyB0YWJsZV9uYW1lLAorICAg ICAgICAgICBwLnBlcm5hbWU6OmluZm9ybWF0aW9uX3NjaGVtYS5zcWxfaWRlbnRpZmllciBBUyBw ZXJpb2RfbmFtZSwKKyAgICAgICAgICAgQ0FTRSBXSEVOIHBnX2hhc19yb2xlKGMucmVsb3duZXIs ICdVU0FHRScpCisgICAgICAgICAgICAgICAgICBPUiBoYXNfY29sdW1uX3ByaXZpbGVnZShzYS5h dHRyZWxpZCwgc2EuYXR0bnVtLCAnU0VMRUNULCBJTlNFUlQsIFVQREFURSwgUkVGRVJFTkNFUycp CisgICAgICAgICAgICAgICAgVEhFTiBzYS5hdHRuYW1lOjppbmZvcm1hdGlvbl9zY2hlbWEuc3Fs X2lkZW50aWZpZXIKKyAgICAgICAgICAgRU5EIEFTIHN0YXJ0X2NvbHVtbl9uYW1lLAorICAgICAg ICAgICBDQVNFIFdIRU4gcGdfaGFzX3JvbGUoYy5yZWxvd25lciwgJ1VTQUdFJykKKyAgICAgICAg ICAgICAgICAgIE9SIGhhc19jb2x1bW5fcHJpdmlsZWdlKGVhLmF0dHJlbGlkLCBlYS5hdHRudW0s ICdTRUxFQ1QsIElOU0VSVCwgVVBEQVRFLCBSRUZFUkVOQ0VTJykKKyAgICAgICAgICAgICAgICBU SEVOIGVhLmF0dG5hbWU6OmluZm9ybWF0aW9uX3NjaGVtYS5zcWxfaWRlbnRpZmllcgorICAgICAg ICAgICBFTkQgQVMgZW5kX2NvbHVtbl9uYW1lCisgICAgRlJPTSBwZ19wZXJpb2QgQVMgcAorICAg IEpPSU4gcGdfY2xhc3MgQVMgYyBPTiBjLm9pZCA9IHAucGVycmVsaWQKKyAgICBKT0lOIHBnX25h bWVzcGFjZSBBUyBuYyBPTiBuYy5vaWQgPSBjLnJlbG5hbWVzcGFjZQorICAgIEpPSU4gcGdfYXR0 cmlidXRlIEFTIHNhIE9OIChzYS5hdHRyZWxpZCwgc2EuYXR0bnVtKSA9IChwLnBlcnJlbGlkLCBw LnBlcnN0YXJ0KQorICAgIEpPSU4gcGdfYXR0cmlidXRlIEFTIGVhIE9OIChlYS5hdHRyZWxpZCwg ZWEuYXR0bnVtKSA9IChwLnBlcnJlbGlkLCBwLnBlcmVuZCkKKyAgICBXSEVSRSBOT1QgcGdfaXNf b3RoZXJfdGVtcF9zY2hlbWEobmMub2lkKQorICAgICAgQU5EIGMucmVsa2luZCBJTiAoJ3InLCAn dicpOworCitHUkFOVCBTRUxFQ1QgT04gcGVyaW9kcyBUTyBQVUJMSUM7CiAKIAogLyoKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvbWVzb24uYnVpbGQgYi9zcmMvYmFja2VuZC9jYXRh bG9nL21lc29uLmJ1aWxkCmluZGV4IDE5NThlYTkyMzhhLi42Y2RmODlkMGU5MyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9tZXNvbi5idWlsZAorKysgYi9zcmMvYmFja2VuZC9jYXRh bG9nL21lc29uLmJ1aWxkCkBAIC0yNiw2ICsyNiw3IEBAIGJhY2tlbmRfc291cmNlcyArPSBmaWxl cygKICAgJ3BnX25hbWVzcGFjZS5jJywKICAgJ3BnX29wZXJhdG9yLmMnLAogICAncGdfcGFyYW1l dGVyX2FjbC5jJywKKyAgJ3BnX3BlcmlvZC5jJywKICAgJ3BnX3Byb2MuYycsCiAgICdwZ19wdWJs aWNhdGlvbi5jJywKICAgJ3BnX3JhbmdlLmMnLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9vYmplY3RhZGRyZXNzLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJlc3Mu YwppbmRleCBjNzViNzEzMWVkNy4uZTJiMDk5ZTIzNjAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0 YWRkcmVzcy5jCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19vcGVyYXRv ci5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BmYW1pbHkuaCIKICNpbmNsdWRlICJjYXRhbG9n L3BnX3BhcmFtZXRlcl9hY2wuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3BlcmlvZC5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvcGdfcG9saWN5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oIgpAQCAtNzI2LDYgKzcyNyw5IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2JqZWN0X3R5cGVfbWFwCiAJewogCQkiZG9tYWluIGNvbnN0 cmFpbnQiLCBPQkpFQ1RfRE9NQ09OU1RSQUlOVAogCX0sCisJeworCQkicGVyaW9kIiwgT0JKRUNU X1BFUklPRAorCX0sCiAJewogCQkiY29udmVyc2lvbiIsIE9CSkVDVF9DT05WRVJTSU9OCiAJfSwK QEAgLTk3MCw2ICs5NzQsNyBAQCBnZXRfb2JqZWN0X2FkZHJlc3MoT2JqZWN0VHlwZSBvYmp0eXBl LCBOb2RlICpvYmplY3QsCiAJCQljYXNlIE9CSkVDVF9UUklHR0VSOgogCQkJY2FzZSBPQkpFQ1Rf VEFCQ09OU1RSQUlOVDoKIAkJCWNhc2UgT0JKRUNUX1BPTElDWToKKwkJCWNhc2UgT0JKRUNUX1BF UklPRDoKIAkJCQlhZGRyZXNzID0gZ2V0X29iamVjdF9hZGRyZXNzX3JlbG9iamVjdChvYmp0eXBl LCBjYXN0Tm9kZShMaXN0LCBvYmplY3QpLAogCQkJCQkJCQkJCQkJCSAgICZyZWxhdGlvbiwgbWlz c2luZ19vayk7CiAJCQkJYnJlYWs7CkBAIC0xNDcyLDYgKzE0NzcsMTMgQEAgZ2V0X29iamVjdF9h ZGRyZXNzX3JlbG9iamVjdChPYmplY3RUeXBlIG9ianR5cGUsIExpc3QgKm9iamVjdCwKIAkJCQlJ bnZhbGlkT2lkOwogCQkJYWRkcmVzcy5vYmplY3RTdWJJZCA9IDA7CiAJCQlicmVhazsKKwkJY2Fz ZSBPQkpFQ1RfUEVSSU9EOgorCQkJYWRkcmVzcy5jbGFzc0lkID0gUGVyaW9kUmVsYXRpb25JZDsK KwkJCWFkZHJlc3Mub2JqZWN0SWQgPSByZWxhdGlvbiA/CisJCQkJZ2V0X3JlbGF0aW9uX3Blcmlv ZF9vaWQocmVsb2lkLCBkZXBuYW1lLCBtaXNzaW5nX29rKSA6CisJCQkJSW52YWxpZE9pZDsKKwkJ CWFkZHJlc3Mub2JqZWN0U3ViSWQgPSAwOworCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQllbG9n KEVSUk9SLCAidW5yZWNvZ25pemVkIG9iamVjdCB0eXBlOiAlZCIsIChpbnQpIG9ianR5cGUpOwog CX0KQEAgLTIyOTMsNiArMjMwNSw3IEBAIHBnX2dldF9vYmplY3RfYWRkcmVzcyhQR19GVU5DVElP Tl9BUkdTKQogCQljYXNlIE9CSkVDVF9SVUxFOgogCQljYXNlIE9CSkVDVF9UUklHR0VSOgogCQlj YXNlIE9CSkVDVF9UQUJDT05TVFJBSU5UOgorCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCWNhc2Ug T0JKRUNUX09QQ0xBU1M6CiAJCWNhc2UgT0JKRUNUX09QRkFNSUxZOgogCQkJb2Jqbm9kZSA9IChO b2RlICopIG5hbWU7CkBAIC0yNDAzLDYgKzI0MTYsNyBAQCBjaGVja19vYmplY3Rfb3duZXJzaGlw KE9pZCByb2xlaWQsIE9iamVjdFR5cGUgb2JqdHlwZSwgT2JqZWN0QWRkcmVzcyBhZGRyZXNzLAog CQljYXNlIE9CSkVDVF9UUklHR0VSOgogCQljYXNlIE9CSkVDVF9QT0xJQ1k6CiAJCWNhc2UgT0JK RUNUX1RBQkNPTlNUUkFJTlQ6CisJCWNhc2UgT0JKRUNUX1BFUklPRDoKIAkJCWlmICghb2JqZWN0 X293bmVyY2hlY2soUmVsYXRpb25SZWxhdGlvbklkLCBSZWxhdGlvbkdldFJlbGlkKHJlbGF0aW9u KSwgcm9sZWlkKSkKIAkJCQlhY2xjaGVja19lcnJvcihBQ0xDSEVDS19OT1RfT1dORVIsIG9ianR5 cGUsCiAJCQkJCQkJICAgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsYXRpb24pKTsKQEAgLTMw NzYsNiArMzA5MCwzOCBAQCBnZXRPYmplY3REZXNjcmlwdGlvbihjb25zdCBPYmplY3RBZGRyZXNz ICpvYmplY3QsIGJvb2wgbWlzc2luZ19vaykKIAkJCQlicmVhazsKIAkJCX0KIAorCQljYXNlIFBl cmlvZFJlbGF0aW9uSWQ6CisJCQl7CisJCQkJSGVhcFR1cGxlCXBlclR1cDsKKwkJCQlGb3JtX3Bn X3BlcmlvZCBwZXI7CisKKwkJCQlwZXJUdXAgPSBTZWFyY2hTeXNDYWNoZTEoUEVSSU9ET0lELAor CQkJCQkJCQkJCSBPYmplY3RJZEdldERhdHVtKG9iamVjdC0+b2JqZWN0SWQpKTsKKwkJCQlpZiAo IUhlYXBUdXBsZUlzVmFsaWQocGVyVHVwKSkKKwkJCQkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1 cCBmYWlsZWQgZm9yIHBlcmlvZCAldSIsCisJCQkJCQkgb2JqZWN0LT5vYmplY3RJZCk7CisJCQkJ cGVyID0gKEZvcm1fcGdfcGVyaW9kKSBHRVRTVFJVQ1QocGVyVHVwKTsKKworCQkJCWlmIChPaWRJ c1ZhbGlkKHBlci0+cGVycmVsaWQpKQorCQkJCXsKKwkJCQkJU3RyaW5nSW5mb0RhdGEgcmVsOwor CisJCQkJCWluaXRTdHJpbmdJbmZvKCZyZWwpOworCQkJCQlnZXRSZWxhdGlvbkRlc2NyaXB0aW9u KCZyZWwsIHBlci0+cGVycmVsaWQsIGZhbHNlKTsKKwkJCQkJYXBwZW5kU3RyaW5nSW5mbygmYnVm ZmVyLCBfKCJwZXJpb2QgJXMgb24gJXMiKSwKKwkJCQkJCQkJCSBOYW1lU3RyKHBlci0+cGVybmFt ZSksIHJlbC5kYXRhKTsKKwkJCQkJcGZyZWUocmVsLmRhdGEpOworCQkJCX0KKwkJCQllbHNlCisJ CQkJeworCQkJCQlhcHBlbmRTdHJpbmdJbmZvKCZidWZmZXIsIF8oInBlcmlvZCAlcyIpLAorCQkJ CQkJCQkJIE5hbWVTdHIocGVyLT5wZXJuYW1lKSk7CisJCQkJfQorCisJCQkJUmVsZWFzZVN5c0Nh Y2hlKHBlclR1cCk7CisJCQkJYnJlYWs7CisJCQl9CisKIAkJY2FzZSBDb252ZXJzaW9uUmVsYXRp b25JZDoKIAkJCXsKIAkJCQlIZWFwVHVwbGUJY29uVHVwOwpAQCAtNDUyOSw2ICs0NTc1LDEwIEBA IGdldE9iamVjdFR5cGVEZXNjcmlwdGlvbihjb25zdCBPYmplY3RBZGRyZXNzICpvYmplY3QsIGJv b2wgbWlzc2luZ19vaykKIAkJCQkJCQkJCQkgbWlzc2luZ19vayk7CiAJCQlicmVhazsKIAorCQlj YXNlIFBlcmlvZFJlbGF0aW9uSWQ6CisJCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZidWZmZXIs ICJwZXJpb2QiKTsKKwkJCWJyZWFrOworCiAJCWNhc2UgQ29udmVyc2lvblJlbGF0aW9uSWQ6CiAJ CQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZidWZmZXIsICJjb252ZXJzaW9uIik7CiAJCQlicmVh azsKQEAgLTUwMzQsNiArNTA4NCwyOCBAQCBnZXRPYmplY3RJZGVudGl0eVBhcnRzKGNvbnN0IE9i amVjdEFkZHJlc3MgKm9iamVjdCwKIAkJCQlicmVhazsKIAkJCX0KIAorCQljYXNlIFBlcmlvZFJl bGF0aW9uSWQ6CisJCQl7CisJCQkJSGVhcFR1cGxlCXBlclR1cDsKKwkJCQlGb3JtX3BnX3Blcmlv ZCBwZXI7CisKKwkJCQlwZXJUdXAgPSBTZWFyY2hTeXNDYWNoZTEoUEVSSU9ET0lELAorCQkJCQkJ CQkJCSBPYmplY3RJZEdldERhdHVtKG9iamVjdC0+b2JqZWN0SWQpKTsKKwkJCQlpZiAoIUhlYXBU dXBsZUlzVmFsaWQocGVyVHVwKSkKKwkJCQkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWls ZWQgZm9yIHBlcmlvZCAldSIsCisJCQkJCQkgb2JqZWN0LT5vYmplY3RJZCk7CisJCQkJcGVyID0g KEZvcm1fcGdfcGVyaW9kKSBHRVRTVFJVQ1QocGVyVHVwKTsKKworCQkJCWFwcGVuZFN0cmluZ0lu Zm8oJmJ1ZmZlciwgIiVzIG9uICIsCisJCQkJCQkJCSBxdW90ZV9pZGVudGlmaWVyKE5hbWVTdHIo cGVyLT5wZXJuYW1lKSkpOworCQkJCWdldFJlbGF0aW9uSWRlbnRpdHkoJmJ1ZmZlciwgcGVyLT5w ZXJyZWxpZCwgb2JqbmFtZSwgZmFsc2UpOworCQkJCWlmIChvYmpuYW1lKQorCQkJCQkqb2JqbmFt ZSA9IGxhcHBlbmQoKm9iam5hbWUsIHBzdHJkdXAoTmFtZVN0cihwZXItPnBlcm5hbWUpKSk7CisK KwkJCQlSZWxlYXNlU3lzQ2FjaGUocGVyVHVwKTsKKwkJCQlicmVhazsKKwkJCX0KKwogCQljYXNl IENvbnZlcnNpb25SZWxhdGlvbklkOgogCQkJewogCQkJCUhlYXBUdXBsZQljb25UdXA7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYyBiL3NyYy9iYWNrZW5k L2NhdGFsb2cvcGdfY29uc3RyYWludC5jCmluZGV4IDRjOGUyNDJhZDRhLi5jOWI1YzEzNmM4MSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19jb25zdHJhaW50LmMKKysrIGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9wZ19jb25zdHJhaW50LmMKQEAgLTgxMiw5ICs4MTIsMTQgQEAgQWRq dXN0Tm90TnVsbEluaGVyaXRhbmNlKE9pZCByZWxpZCwgQXR0ck51bWJlciBhdHRudW0sCiAgKiBU aGlzIGlzIHNlbGRvbSBuZWVkZWQsIHNvIHdlIGp1c3Qgc2NhbiBwZ19jb25zdHJhaW50IGVhY2gg dGltZS4KICAqCiAgKiAnaW5jbHVkZV9ub2luaCcgZGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGluY2x1 ZGUgTk8gSU5IRVJJVCBjb25zdHJhaW50cyBvciBub3QuCisgKgorICogJ2V4Y2x1ZGVzJyBjb250 YWlucyBhIGxpc3Qgb2YgYXR0bm9zIHdob3NlIGNvbnN0cmFpbnRzIHdlIHNob3VsZCBleGNsdWRl LAorICogZm9yIGV4YW1wbGUgY29uc3RyYWludHMgb24gUEVSSU9EcycgaGlkZGVuIEdFTkVSQVRF RCBjb2x1bW5zIChzaW5jZSB0aG9zZQorICogYXJlbid0IGV4cG9zZWQgdG8gdXNlcnMpLgogICov CiBMaXN0ICoKLVJlbGF0aW9uR2V0Tm90TnVsbENvbnN0cmFpbnRzKE9pZCByZWxpZCwgYm9vbCBj b29rZWQsIGJvb2wgaW5jbHVkZV9ub2luaCkKK1JlbGF0aW9uR2V0Tm90TnVsbENvbnN0cmFpbnRz KE9pZCByZWxpZCwgYm9vbCBjb29rZWQsIGJvb2wgaW5jbHVkZV9ub2luaCwKKwkJCQkJCQkgIEJp dG1hcHNldCAqZXhjbHVkZXMpCiB7CiAJTGlzdAkgICAqbm90bnVsbHMgPSBOSUw7CiAJUmVsYXRp b24JY29uc3RyUmVsOwpAQCAtODQyLDYgKzg0Nyw5IEBAIFJlbGF0aW9uR2V0Tm90TnVsbENvbnN0 cmFpbnRzKE9pZCByZWxpZCwgYm9vbCBjb29rZWQsIGJvb2wgaW5jbHVkZV9ub2luaCkKIAogCQlj b2xudW0gPSBleHRyYWN0Tm90TnVsbENvbHVtbihodHVwKTsKIAorCQlpZiAoYm1zX2lzX21lbWJl cihjb2xudW0sIGV4Y2x1ZGVzKSkKKwkJCWNvbnRpbnVlOworCiAJCWlmIChjb29rZWQpCiAJCXsK IAkJCUNvb2tlZENvbnN0cmFpbnQgKmNvb2tlZDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nh dGFsb2cvcGdfcGVyaW9kLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3BlcmlvZC5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yNGIxOTM4NTMyYgotLS0gL2Rldi9u dWxsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcGVyaW9kLmMKQEAgLTAsMCArMSwxMzIg QEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIHBnX3BlcmlvZC5jCisgKgkgIHJvdXRpbmVz IHRvIHN1cHBvcnQgbWFuaXB1bGF0aW9uIG9mIHRoZSBwZ19wZXJpb2QgcmVsYXRpb24KKyAqCisg KiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMSwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2 ZWxvcG1lbnQgR3JvdXAKKyAqCisgKgorICogSURFTlRJRklDQVRJT04KKyAqCSAgc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19wZXJpb2QuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaW5j bHVkZSAicG9zdGdyZXMuaCIKKworI2luY2x1ZGUgImFjY2Vzcy9nZW5hbS5oIgorI2luY2x1ZGUg ImFjY2Vzcy9oZWFwYW0uaCIKKyNpbmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCisjaW5j bHVkZSAiY2F0YWxvZy9pbmRleGluZy5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgi CisjaW5jbHVkZSAidXRpbHMvZm1ncm9pZHMuaCIKKyNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUu aCIKKyNpbmNsdWRlICJ1dGlscy9yZWwuaCIKKyNpbmNsdWRlICJ1dGlscy9zeXNjYWNoZS5oIgor CisKKy8qCisgKiBEZWxldGUgYSBzaW5nbGUgcGVyaW9kIHJlY29yZC4KKyAqLwordm9pZAorUmVt b3ZlUGVyaW9kQnlJZChPaWQgcGVyaW9kSWQpCit7CisJUmVsYXRpb24JcGdfcGVyaW9kOworCUhl YXBUdXBsZQl0dXA7CisKKwlwZ19wZXJpb2QgPSB0YWJsZV9vcGVuKFBlcmlvZFJlbGF0aW9uSWQs IFJvd0V4Y2x1c2l2ZUxvY2spOworCisJdHVwID0gU2VhcmNoU3lzQ2FjaGUxKFBFUklPRE9JRCwg T2JqZWN0SWRHZXREYXR1bShwZXJpb2RJZCkpOworCWlmICghSGVhcFR1cGxlSXNWYWxpZCh0dXAp KSAvKiBzaG91bGQgbm90IGhhcHBlbiAqLworCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZh aWxlZCBmb3IgcGVyaW9kICV1IiwgcGVyaW9kSWQpOworCisJLyogRnJ5IHRoZSBwZXJpb2QgaXRz ZWxmICovCisJQ2F0YWxvZ1R1cGxlRGVsZXRlKHBnX3BlcmlvZCwgJnR1cC0+dF9zZWxmKTsKKwor CS8qIENsZWFuIHVwICovCisJUmVsZWFzZVN5c0NhY2hlKHR1cCk7CisJdGFibGVfY2xvc2UocGdf cGVyaW9kLCBSb3dFeGNsdXNpdmVMb2NrKTsKK30KKworLyoKKyAqIGdldF9yZWxhdGlvbl9wZXJp b2Rfb2lkCisgKgkJRmluZCBhIHBlcmlvZCBvbiB0aGUgc3BlY2lmaWVkIHJlbGF0aW9uIHdpdGgg dGhlIHNwZWNpZmllZCBuYW1lLgorICoJCVJldHVybnMgcGVyaW9kJ3MgT0lELgorICovCitPaWQK K2dldF9yZWxhdGlvbl9wZXJpb2Rfb2lkKE9pZCByZWxpZCwgY29uc3QgY2hhciAqcGVybmFtZSwg Ym9vbCBtaXNzaW5nX29rKQoreworCVJlbGF0aW9uCXBnX3BlcmlvZDsKKwlIZWFwVHVwbGUJdHVw bGU7CisJU3lzU2NhbkRlc2Mgc2NhbjsKKwlTY2FuS2V5RGF0YSBza2V5WzJdOworCU9pZAkJCXBl ck9pZCA9IEludmFsaWRPaWQ7CisKKwkvKiBGZXRjaCB0aGUgcGVyaW9kIHR1cGxlIGZyb20gcGdf cGVyaW9kLiAqLworCXBnX3BlcmlvZCA9IHRhYmxlX29wZW4oUGVyaW9kUmVsYXRpb25JZCwgQWNj ZXNzU2hhcmVMb2NrKTsKKworCVNjYW5LZXlJbml0KCZza2V5WzBdLAorCQkJCUFudW1fcGdfcGVy aW9kX3BlcnJlbGlkLAorCQkJCUJURXF1YWxTdHJhdGVneU51bWJlciwgRl9PSURFUSwKKwkJCQlP YmplY3RJZEdldERhdHVtKHJlbGlkKSk7CisJU2NhbktleUluaXQoJnNrZXlbMV0sCisJCQkJQW51 bV9wZ19wZXJpb2RfcGVybmFtZSwKKwkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1iZXIsIEZfTkFNRUVR LAorCQkJCUNTdHJpbmdHZXREYXR1bShwZXJuYW1lKSk7CisKKwlzY2FuID0gc3lzdGFibGVfYmVn aW5zY2FuKHBnX3BlcmlvZCwgUGVyaW9kUmVsaWROYW1lSW5kZXhJZCwgdHJ1ZSwKKwkJCQkJCQkg IE5VTEwsIDIsIHNrZXkpOworCisJLyogVGhlcmUgY2FuIGJlIGF0IG1vc3Qgb25lIG1hdGNoaW5n IHJvdyAqLworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlID0gc3lzdGFibGVfZ2V0bmV4dChz Y2FuKSkpCisJCXBlck9pZCA9ICgoRm9ybV9wZ19wZXJpb2QpIEdFVFNUUlVDVCh0dXBsZSkpLT5v aWQ7CisKKwlzeXN0YWJsZV9lbmRzY2FuKHNjYW4pOworCisJLyogSWYgbm8gc3VjaCBwZXJpb2Qg ZXhpc3RzLCBjb21wbGFpbiAqLworCWlmICghT2lkSXNWYWxpZChwZXJPaWQpICYmICFtaXNzaW5n X29rKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09C SkVDVCksCisJCQkJIGVycm1zZygicGVyaW9kIFwiJXNcIiBmb3IgdGFibGUgXCIlc1wiIGRvZXMg bm90IGV4aXN0IiwKKwkJCQkJCXBlcm5hbWUsIGdldF9yZWxfbmFtZShyZWxpZCkpKSk7CisKKwl0 YWJsZV9jbG9zZShwZ19wZXJpb2QsIEFjY2Vzc1NoYXJlTG9jayk7CisKKwlyZXR1cm4gcGVyT2lk OworfQorCisvKgorICogZ2V0X3BlcmlvZF9hdHRub3MKKyAqCQlHZXQgdGhlIGF0dG5vIG9mIHRo ZSBHRU5FUkFURUQgcmFuZ2V0eXBlIGNvbHVtbgorICoJCWZvciBhbGwgUEVSSU9EcyBpbiB0aGlz IHRhYmxlLgorICovCitleHRlcm4gQml0bWFwc2V0ICoKK2dldF9wZXJpb2RfYXR0bm9zKE9pZCBy ZWxpZCkKK3sKKwlCaXRtYXBzZXQgICphdHRub3MgPSBOVUxMOworCVJlbGF0aW9uCXBnX3Blcmlv ZDsKKwlIZWFwVHVwbGUJdHVwbGU7CisJU3lzU2NhbkRlc2Mgc2NhbjsKKwlTY2FuS2V5RGF0YSBz a2V5WzFdOworCisJcGdfcGVyaW9kID0gdGFibGVfb3BlbihQZXJpb2RSZWxhdGlvbklkLCBBY2Nl c3NTaGFyZUxvY2spOworCisJU2NhbktleUluaXQoJnNrZXlbMF0sCisJCQkJQW51bV9wZ19wZXJp b2RfcGVycmVsaWQsCisJCQkJQlRFcXVhbFN0cmF0ZWd5TnVtYmVyLCBGX09JREVRLAorCQkJCU9i amVjdElkR2V0RGF0dW0ocmVsaWQpKTsKKworCXNjYW4gPSBzeXN0YWJsZV9iZWdpbnNjYW4ocGdf cGVyaW9kLCBQZXJpb2RSZWxpZE5hbWVJbmRleElkLCB0cnVlLAorCQkJCQkJCSAgTlVMTCwgMSwg c2tleSk7CisKKwl3aGlsZSAoSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSA9IHN5c3RhYmxlX2dldG5l eHQoc2NhbikpKQorCXsKKwkJRm9ybV9wZ19wZXJpb2QgcGVyaW9kID0gKEZvcm1fcGdfcGVyaW9k KSBHRVRTVFJVQ1QodHVwbGUpOworCisJCWF0dG5vcyA9IGJtc19hZGRfbWVtYmVyKGF0dG5vcywg cGVyaW9kLT5wZXJyYW5nZSk7CisJfQorCisJc3lzdGFibGVfZW5kc2NhbihzY2FuKTsKKwl0YWJs ZV9jbG9zZShwZ19wZXJpb2QsIEFjY2Vzc1NoYXJlTG9jayk7CisKKwlyZXR1cm4gYXR0bm9zOwor fQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0IGIvc3Jj L2JhY2tlbmQvY2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0CmluZGV4IDNhOGFkMjAxNjA3Li4wMTZi NjdiY2YxYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0 CisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3FsX2ZlYXR1cmVzLnR4dApAQCAtNDQ4LDcgKzQ0 OCw3IEBAIFQxNzYJU2VxdWVuY2UgZ2VuZXJhdG9yIHN1cHBvcnQJCQlOTwlzdXBwb3J0ZWQgZXhj ZXB0IGZvciBORVhUIFZBTFVFIEZPUgogVDE3NwlTZXF1ZW5jZSBnZW5lcmF0b3Igc3VwcG9ydDog c2ltcGxlIHJlc3RhcnQgb3B0aW9uCQkJWUVTCQogVDE3OAlJZGVudGl0eSBjb2x1bW5zOiBzaW1w bGUgcmVzdGFydCBvcHRpb24JCQlZRVMJCiBUMTgwCVN5c3RlbS12ZXJzaW9uZWQgdGFibGVzCQkJ Tk8JCi1UMTgxCUFwcGxpY2F0aW9uLXRpbWUgcGVyaW9kIHRhYmxlcwkJCU5PCQorVDE4MQlBcHBs aWNhdGlvbi10aW1lIHBlcmlvZCB0YWJsZXMJCQlZRVMJCiBUMTkxCVJlZmVyZW50aWFsIGFjdGlv biBSRVNUUklDVAkJCVlFUwkKIFQyMDAJVHJpZ2dlciBEREwJCQlOTwlzaW1pbGFyIGJ1dCBub3Qg ZnVsbHkgY29tcGF0aWJsZQogVDIwMQlDb21wYXJhYmxlIGRhdGEgdHlwZXMgZm9yIHJlZmVyZW50 aWFsIGNvbnN0cmFpbnRzCQkJWUVTCQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv Y29tbWVudC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29tbWVudC5jCmluZGV4IDVjNzgzY2M2 MWYxLi4zNjMwNmM2MThiMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29tbWVu dC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvbW1lbnQuYwpAQCAtMTAyLDYgKzEwMiwx NiBAQCBDb21tZW50T2JqZWN0KENvbW1lbnRTdG10ICpzdG10KQogCQkJCQkJCQlSZWxhdGlvbkdl dFJlbGF0aW9uTmFtZShyZWxhdGlvbikpLAogCQkJCQkJIGVycmRldGFpbF9yZWxraW5kX25vdF9z dXBwb3J0ZWQocmVsYXRpb24tPnJkX3JlbC0+cmVsa2luZCkpKTsKIAkJCWJyZWFrOworCisJCWNh c2UgT0JKRUNUX1BFUklPRDoKKwkJCS8qIFBlcmlvZHMgY2FuIG9ubHkgZ28gb24gdGFibGVzICov CisJCQlpZiAocmVsYXRpb24tPnJkX3JlbC0+cmVsa2luZCAhPSBSRUxLSU5EX1JFTEFUSU9OKQor CQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX1dST05HX09CSkVDVF9U WVBFKSwKKwkJCQkJCSBlcnJtc2coIlwiJXNcIiBpcyBub3QgYSB0YWJsZSIsCisJCQkJCQkJCVJl bGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbGF0aW9uKSkpKTsKKwkJCWJyZWFrOworCiAJCWRlZmF1 bHQ6CiAJCQlicmVhazsKIAl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9w Y21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYwppbmRleCBjZWI5YTIyOWI2 My4uNTI2YzNmZjUxNDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRz LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMuYwpAQCAtNTA0LDYgKzUwNCw3 IEBAIGRvZXNfbm90X2V4aXN0X3NraXBwaW5nKE9iamVjdFR5cGUgb2JqdHlwZSwgTm9kZSAqb2Jq ZWN0KQogCQljYXNlIE9CSkVDVF9ET01DT05TVFJBSU5UOgogCQljYXNlIE9CSkVDVF9MQVJHRU9C SkVDVDoKIAkJY2FzZSBPQkpFQ1RfUEFSQU1FVEVSX0FDTDoKKwkJY2FzZSBPQkpFQ1RfUEVSSU9E OgogCQljYXNlIE9CSkVDVF9QVUJMSUNBVElPTl9OQU1FU1BBQ0U6CiAJCWNhc2UgT0JKRUNUX1BV QkxJQ0FUSU9OX1JFTDoKIAkJY2FzZSBPQkpFQ1RfVEFCQ09OU1RSQUlOVDoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V2ZW50X3RyaWdnZXIuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL2V2ZW50X3RyaWdnZXIuYwppbmRleCBmMzQ4NjhkYTVhYi4uNTE0ZGEwNGJlNzcgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V2ZW50X3RyaWdnZXIuYworKysgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9ldmVudF90cmlnZ2VyLmMKQEAgLTIzMDEsNiArMjMwMSw3IEBAIHN0cmlu Z2lmeV9ncmFudF9vYmp0eXBlKE9iamVjdFR5cGUgb2JqdHlwZSkKIAkJY2FzZSBPQkpFQ1RfT1BD TEFTUzoKIAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6CiAJCWNhc2UgT0JKRUNUX09QRkFNSUxZOgor CQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCWNhc2UgT0JKRUNUX1BPTElDWToKIAkJY2FzZSBPQkpF Q1RfUFVCTElDQVRJT046CiAJCWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKQEAg LTIzODUsNiArMjM4Niw3IEBAIHN0cmluZ2lmeV9hZGVmcHJpdnNfb2JqdHlwZShPYmplY3RUeXBl IG9ianR5cGUpCiAJCWNhc2UgT0JKRUNUX09QRVJBVE9SOgogCQljYXNlIE9CSkVDVF9PUEZBTUlM WToKIAkJY2FzZSBPQkpFQ1RfUEFSQU1FVEVSX0FDTDoKKwkJY2FzZSBPQkpFQ1RfUEVSSU9EOgog CQljYXNlIE9CSkVDVF9QT0xJQ1k6CiAJCWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9OOgogCQljYXNl IE9CSkVDVF9QVUJMSUNBVElPTl9OQU1FU1BBQ0U6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j b21tYW5kcy9zZWNsYWJlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2VjbGFiZWwuYwppbmRl eCBjZWU1ZDdiYmI5Yy4uZjg2NTBlYjRmZTQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3NlY2xhYmVsLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc2VjbGFiZWwuYwpAQCAt NzksNiArNzksNyBAQCBTZWNMYWJlbFN1cHBvcnRzT2JqZWN0VHlwZShPYmplY3RUeXBlIG9ianR5 cGUpCiAJCWNhc2UgT0JKRUNUX09QRVJBVE9SOgogCQljYXNlIE9CSkVDVF9PUEZBTUlMWToKIAkJ Y2FzZSBPQkpFQ1RfUEFSQU1FVEVSX0FDTDoKKwkJY2FzZSBPQkpFQ1RfUEVSSU9EOgogCQljYXNl IE9CSkVDVF9QT0xJQ1k6CiAJCWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKIAkJ Y2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fUkVMOgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRl eCAxNzYzNWViOGEzYS4uYTM0OWU4MGE3YjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBA IC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19sYXJnZW9iamVjdF9tZXRhZGF0 YS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfbmFtZXNwYWNlLmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9wZ19vcGNsYXNzLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wZXJpb2QuaCIKICNpbmNsdWRl ICJjYXRhbG9nL3BnX3BvbGljeS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcHJvYy5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvcGdfcHVibGljYXRpb25fcmVsLmgiCkBAIC0xNTYsNiArMTU3LDEzIEBA IHR5cGVkZWYgZW51bSBBbHRlclRhYmxlUGFzcwogCUFUX1BBU1NfT0xEX0lOREVYLAkJCS8qIHJl LWFkZCBleGlzdGluZyBpbmRleGVzICovCiAJQVRfUEFTU19PTERfQ09OU1RSLAkJCS8qIHJlLWFk ZCBleGlzdGluZyBjb25zdHJhaW50cyAqLwogCS8qIFdlIGNvdWxkIHN1cHBvcnQgYSBSRU5BTUUg Q09MVU1OIHBhc3MgaGVyZSwgYnV0IG5vdCBjdXJyZW50bHkgdXNlZCAqLworCisJLyoKKwkgKiBX ZSBtdXN0IGFkZCBQRVJJT0RzIGFmdGVyIGNvbHVtbnMsIGluIGNhc2UgdGhleSByZWZlcmVuY2Ug YSBuZXdseS1hZGRlZAorCSAqIGNvbHVtbiwgYW5kIGJlZm9yZSBjb25zdHJhaW50cywgaW4gY2Fz ZSBhIG5ld2x5LWFkZGVkIFBLL0ZLIHJlZmVyZW5jZXMKKwkgKiB0aGVtLgorCSAqLworCUFUX1BB U1NfQUREX1BFUklPRCwJCQkvKiBBREQgUEVSSU9EICovCiAJQVRfUEFTU19BRERfQ09OU1RSLAkJ CS8qIEFERCBjb25zdHJhaW50cyAoaW5pdGlhbCBleGFtaW5hdGlvbikgKi8KIAlBVF9QQVNTX0NP TF9BVFRSUywJCQkvKiBzZXQgY29sdW1uIGF0dHJpYnV0ZXMsIGVnIE5PVCBOVUxMICovCiAJQVRf UEFTU19BRERfSU5ERVhDT05TVFIsCS8qIEFERCBpbmRleC1iYXNlZCBjb25zdHJhaW50cyAqLwpA QCAtMzc1LDYgKzM4Myw3IEBAIHN0YXRpYyBMaXN0ICpNZXJnZUF0dHJpYnV0ZXMoTGlzdCAqY29s dW1ucywgY29uc3QgTGlzdCAqc3VwZXJzLCBjaGFyIHJlbHBlcnNpc3RlCiAJCQkJCQkJIGJvb2wg aXNfcGFydGl0aW9uLCBMaXN0ICoqc3VwY29uc3RyLAogCQkJCQkJCSBMaXN0ICoqc3Vwbm90bnVs bHMpOwogc3RhdGljIExpc3QgKk1lcmdlQ2hlY2tDb25zdHJhaW50KExpc3QgKmNvbnN0cmFpbnRz LCBjb25zdCBjaGFyICpuYW1lLCBOb2RlICpleHByLCBib29sIGlzX2VuZm9yY2VkKTsKK3N0YXRp YyBMaXN0ICpNZXJnZVBlcmlvZHMoY2hhciAqcmVsbmFtZSwgTGlzdCAqcGVyaW9kcywgTGlzdCAq dGFibGVFbHRzLCBMaXN0ICpzdXBlcnMpOwogc3RhdGljIHZvaWQgTWVyZ2VDaGlsZEF0dHJpYnV0 ZShMaXN0ICppbmhfY29sdW1ucywgaW50IGV4aXN0X2F0dG5vLCBpbnQgbmV3Y29sX2F0dG5vLCBj b25zdCBDb2x1bW5EZWYgKm5ld2RlZik7CiBzdGF0aWMgQ29sdW1uRGVmICpNZXJnZUluaGVyaXRl ZEF0dHJpYnV0ZShMaXN0ICppbmhfY29sdW1ucywgaW50IGV4aXN0X2F0dG5vLCBjb25zdCBDb2x1 bW5EZWYgKm5ld2RlZik7CiBzdGF0aWMgdm9pZCBNZXJnZUF0dHJpYnV0ZXNJbnRvRXhpc3Rpbmco UmVsYXRpb24gY2hpbGRfcmVsLCBSZWxhdGlvbiBwYXJlbnRfcmVsLCBib29sIGlzcGFydGl0aW9u KTsKQEAgLTQ5Nyw2ICs1MDYsOCBAQCBzdGF0aWMgT2JqZWN0QWRkcmVzcyBBVEV4ZWNBZGRDb2x1 bW4oTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLAogCQkJCQkJCQkJIEFsdGVy VGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCk7CiBzdGF0aWMgYm9vbCBjaGVja19mb3JfY29s dW1uX25hbWVfY29sbGlzaW9uKFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqY29sbmFtZSwKIAkJ CQkJCQkJCQkJYm9vbCBpZl9ub3RfZXhpc3RzKTsKK3N0YXRpYyBib29sIGNoZWNrX2Zvcl9wZXJp b2RfbmFtZV9jb2xsaXNpb24oUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpwZXJuYW1lLAorCQkJ CQkJCQkJCQlib29sIGNvbGV4aXN0cywgYm9vbCBpZl9ub3RfZXhpc3RzKTsKIHN0YXRpYyB2b2lk IGFkZF9jb2x1bW5fZGF0YXR5cGVfZGVwZW5kZW5jeShPaWQgcmVsaWQsIGludDMyIGF0dG51bSwg T2lkIHR5cGlkKTsKIHN0YXRpYyB2b2lkIGFkZF9jb2x1bW5fY29sbGF0aW9uX2RlcGVuZGVuY3ko T2lkIHJlbGlkLCBpbnQzMiBhdHRudW0sIE9pZCBjb2xsaWQpOwogc3RhdGljIE9iamVjdEFkZHJl c3MgQVRFeGVjRHJvcE5vdE51bGwoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpjb2xOYW1lLCBi b29sIHJlY3Vyc2UsCkBAIC01MTQsNiArNTI1LDE1IEBAIHN0YXRpYyBPYmplY3RBZGRyZXNzIEFU RXhlY0NvbHVtbkRlZmF1bHQoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpjb2xOYW1lLAogCQkJ CQkJCQkJCSBOb2RlICpuZXdEZWZhdWx0LCBMT0NLTU9ERSBsb2NrbW9kZSk7CiBzdGF0aWMgT2Jq ZWN0QWRkcmVzcyBBVEV4ZWNDb29rZWRDb2x1bW5EZWZhdWx0KFJlbGF0aW9uIHJlbCwgQXR0ck51 bWJlciBhdHRudW0sCiAJCQkJCQkJCQkJCSAgIE5vZGUgKm5ld0RlZmF1bHQpOworc3RhdGljIHZv aWQgQVRQcmVwQWRkUGVyaW9kKExpc3QgKip3cXVldWUsIFJlbGF0aW9uIHJlbCwgQWx0ZXJUYWJs ZUNtZCAqY21kLAorCQkJCQkJCUxPQ0tNT0RFIGxvY2ttb2RlLCBBbHRlclRhYmxlVXRpbGl0eUNv bnRleHQgKmNvbnRleHQpOworc3RhdGljIE9iamVjdEFkZHJlc3MgQVRFeGVjQWRkUGVyaW9kKExp c3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwKKwkJCQkJCQkJCSBSZWxhdGlvbiBy ZWwsIFBlcmlvZERlZiAqcGVyaW9kLAorCQkJCQkJCQkJIExPQ0tNT0RFIGxvY2ttb2RlLCBBbHRl clRhYmxlVXRpbGl0eUNvbnRleHQgKmNvbnRleHQpOworc3RhdGljIHZvaWQgQVRFeGVjRHJvcFBl cmlvZChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBlcmlvZE5hbWUsCisJCQkJCQkJIERyb3BC ZWhhdmlvciBiZWhhdmlvciwKKwkJCQkJCQkgYm9vbCByZWN1cnNlLCBib29sIHJlY3Vyc2luZywK KwkJCQkJCQkgYm9vbCBtaXNzaW5nX29rKTsKIHN0YXRpYyBPYmplY3RBZGRyZXNzIEFURXhlY0Fk ZElkZW50aXR5KFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqY29sTmFtZSwKIAkJCQkJCQkJCSAg IE5vZGUgKmRlZiwgTE9DS01PREUgbG9ja21vZGUsIGJvb2wgcmVjdXJzZSwgYm9vbCByZWN1cnNp bmcpOwogc3RhdGljIE9iamVjdEFkZHJlc3MgQVRFeGVjU2V0SWRlbnRpdHkoUmVsYXRpb24gcmVs LCBjb25zdCBjaGFyICpjb2xOYW1lLApAQCAtNzM5LDYgKzc1OSwxMCBAQCBzdGF0aWMgTGlzdCAq R2V0UGFyZW50ZWRGb3JlaWduS2V5UmVmcyhSZWxhdGlvbiBwYXJ0aXRpb24pOwogc3RhdGljIHZv aWQgQVREZXRhY2hDaGVja05vRm9yZWlnbktleVJlZnMoUmVsYXRpb24gcGFydGl0aW9uKTsKIHN0 YXRpYyBjaGFyIEdldEF0dHJpYnV0ZUNvbXByZXNzaW9uKE9pZCBhdHR0eXBpZCwgY29uc3QgY2hh ciAqY29tcHJlc3Npb24pOwogc3RhdGljIGNoYXIgR2V0QXR0cmlidXRlU3RvcmFnZShPaWQgYXR0 dHlwaWQsIGNvbnN0IGNoYXIgKnN0b3JhZ2Vtb2RlKTsKK3N0YXRpYyB2b2lkIEFkZFJlbGF0aW9u TmV3UGVyaW9kKFJlbGF0aW9uIHJlbCwgUGVyaW9kRGVmICpwZXJpb2QpOworc3RhdGljIHZvaWQg VmFsaWRhdGVQZXJpb2QoUmVsYXRpb24gcmVsLCBQZXJpb2REZWYgKnBlcmlvZCk7CitzdGF0aWMg Q29uc3RyYWludCAqbWFrZV9jb25zdHJhaW50X2Zvcl9wZXJpb2QoUmVsYXRpb24gcmVsLCBQZXJp b2REZWYgKnBlcmlvZCk7CitzdGF0aWMgQ29sdW1uRGVmICptYWtlX3JhbmdlX2NvbHVtbl9mb3Jf cGVyaW9kKFBlcmlvZERlZiAqcGVyaW9kKTsKIAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC05NjgsNiArOTky LDk1IEBAIERlZmluZVJlbGF0aW9uKENyZWF0ZVN0bXQgKnN0bXQsIGNoYXIgcmVsa2luZCwgT2lk IG93bmVySWQsCiAJCQkJCQlzdG10LT5wYXJ0Ym91bmQgIT0gTlVMTCwKIAkJCQkJCSZvbGRfY29u c3RyYWludHMsICZvbGRfbm90bnVsbHMpOwogCisJLyoKKwkgKiBVc2luZyB0aGUgY29sdW1uIGxp c3QgKGluY2x1ZGluZyBpbmhlcml0ZWQgY29sdW1ucyksIGZpbmQgdGhlIHN0YXJ0L2VuZAorCSAq IGNvbHVtbnMgZm9yIGVhY2ggcGVyaW9kLiBQRVJJT0RzIHNob3VsZCBiZSBpbmhlcml0ZWQgdG9v IChidXQgYXJlbid0CisJICogeWV0KS4KKwkgKi8KKwlzdG10LT5wZXJpb2RzID0gTWVyZ2VQZXJp b2RzKHJlbG5hbWUsIHN0bXQtPnBlcmlvZHMsIHN0bXQtPnRhYmxlRWx0cywgaW5oZXJpdE9pZHMp OworCisJLyoKKwkgKiBGb3IgZWFjaCBQRVJJT0Qgd2UgbmVlZCBhIEdFTkVSQVRFRCBjb2x1bW4u IFVzdWFsbHkgd2UgbXVzdCBjcmVhdGUKKwkgKiB0aGlzLCBzbyB3ZSBhZGQgaXQgdG8gdGFibGVF bHRzLiBJZiB0aGUgdXNlciBzYXlzIHRoZSBjb2x1bW4gYWxyZWFkeQorCSAqIGV4aXN0cywgbWFr ZSBzdXJlIGl0IGlzIHNlbnNpYmxlLiBUaGVzZSBjb2x1bW5zIGFyZSBub3QgaW5oZXJpdGVkLCBz bworCSAqIHdlIGRvbid0IHdvcnJ5IGFib3V0IGNvbmZsaWN0cyBpbiB0YWJsZUVsdHMuCisJICoK KwkgKiBXZSBhbGxvdyB0aGlzIGNvbGV4aXN0cyBvcHRpb24gdG8gc3VwcG9ydCBwZ191cGdyYWRl LCBzbyB3ZSBoYXZlIG1vcmUKKwkgKiBjb250cm9sIG92ZXIgdGhlIEdFTkVSQVRFRCBjb2x1bW4g KHdob3NlIGF0dG51bSBtdXN0IG1hdGNoIHRoZSBvbGQKKwkgKiB2YWx1ZSkuCisJICoKKwkgKiBT aW5jZSB0aGUgR0VORVJBVEVEIGNvbHVtbiBtdXN0IGJlIE5PVCBOVUxMLCB3ZSBhZGQgYSBjb25z dHJhaW50IHRvCisJICogbm5jb25zdHJhaW50cy4KKwkgKi8KKwlmb3JlYWNoKGxpc3RwdHIsIHN0 bXQtPnBlcmlvZHMpCisJeworCQlQZXJpb2REZWYgICpwZXJpb2QgPSAoUGVyaW9kRGVmICopIGxm aXJzdChsaXN0cHRyKTsKKworCQlpZiAocGVyaW9kLT5jb2xleGlzdHMpCisJCXsKKwkJCUxpc3RD ZWxsICAgKmNlbGw7CisJCQlib29sCQlmb3VuZCA9IGZhbHNlOworCisJCQkvKiBGaW5kIHRoZSBl eGlzdGluZyBjb2x1bW4gdG8gdXNlICovCisJCQlmb3JlYWNoKGNlbGwsIHN0bXQtPnRhYmxlRWx0 cykKKwkJCXsKKwkJCQlDb2x1bW5EZWYgICpjb2xEZWYgPSBsZmlyc3QoY2VsbCk7CisKKwkJCQlp ZiAoc3RyY21wKHBlcmlvZC0+cGVyaW9kbmFtZSwgY29sRGVmLT5jb2xuYW1lKSA9PSAwKQorCQkJ CXsKKwkJCQkJLyoKKwkJCQkJICogTWFrZSBzdXJlIHRoZSBleGlzdGluZyBjb2x1bW4gbWF0Y2hl cyB3aGF0IHdlIHdvdWxkIGhhdmUKKwkJCQkJICogY3JlYXRlZC4gRmlyc3QgYWxsLCBpdCBtdXN0 IGJlIEdFTkVSQVRFRC4KKwkJCQkJICovCisJCQkJCWlmIChjb2xEZWYtPmdlbmVyYXRlZCA9PSAn XDAnKQorCQkJCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBub24t Z2VuZXJhdGVkIGNvbHVtbiIsCisJCQkJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCisJ CQkJCS8qIFRoZSBHRU5FUkFURUQgY29sdW1uIG11c3QgYmUgU1RPUkVELiAqLworCQkJCQlpZiAo Y29sRGVmLT5nZW5lcmF0ZWQgIT0gQVRUUklCVVRFX0dFTkVSQVRFRF9TVE9SRUQpCisJCQkJCQll cmVwb3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMgdXNlcyBhIGdlbmVyYXRlZCBjb2x1bW4g dGhhdCBpcyBub3QgU1RPUkVEIiwKKwkJCQkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisK KwkJCQkJLyogVGhlIEdFTkVSQVRFRCBjb2x1bW4gbXVzdCBub3QgYWxsb3cgbnVsbHMuICovCisJ CQkJCWlmICghY29sRGVmLT5pc19ub3RfbnVsbCAmJiAhSXNCaW5hcnlVcGdyYWRlKQorCQkJCQkJ ZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1u IHRoYXQgYWxsb3dzIG51bGxzIiwKKwkJCQkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisK KwkJCQkJLyogVGhlIEdFTkVSQVRFRCBjb2x1bW4gbXVzdCBtYXRjaCBvdXIgcmFuZ2V0eXBlLiAq LworCQkJCQlpZiAocGVyaW9kLT5ybmd0eXBpZCAhPSB0eXBlbmFtZVR5cGVJZChOVUxMLCBjb2xE ZWYtPnR5cGVOYW1lKSkKKwkJCQkJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1 c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB3aXRoIHRoZSB3cm9uZyB0eXBlIiwKKwkJCQkJCQkJCQlw ZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJCQkJLyoKKwkJCQkJICogVGhlIEdFTkVSQVRFRCBj b2x1bW4gbXVzdCBub3QgYmUgaW5oZXJpdGVkLgorCQkJCQkgKiBYWFg6IElmIHRoZSBQRVJJT0Qg aXMgaW5oZXJpdGVkLCB0aGV5IG11c3QgY29tZSBmcm9tIHRoZQorCQkJCQkgKiBzYW1lIHBhcmVu dC4KKwkJCQkJICovCisJCQkJCWlmICghY29sRGVmLT5pc19sb2NhbCkKKwkJCQkJCWVyZXBvcnQo RVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB0aGF0IGlz IGluaGVyaXRlZCIsCisJCQkJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCQkJCQkvKgor CQkJCQkgKiBYWFg6IFdlIHNob3VsZCBjaGVjayB0aGUgR0VORVJBVEVEIGV4cHJlc3Npb24gYWxz bywgYnV0CisJCQkJCSAqIHRoYXQgaXMgaGFyZCB0byBkbyBiZWNhdXNlIG9uZSBpcyBjb29rZWQg YW5kIG9uZSBpcyByYXcuCisJCQkJCSAqLworCisJCQkJCWZvdW5kID0gdHJ1ZTsKKwkJCQl9CisJ CQl9CisKKwkJCWlmICghZm91bmQpCisJCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiTm8gY29s dW1uIGZvdW5kIHdpdGggbmFtZSAlcyIsIHBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKwkJfQorCQll bHNlCisJCXsKKwkJCUNvbHVtbkRlZiAgKmNvbCA9IG1ha2VfcmFuZ2VfY29sdW1uX2Zvcl9wZXJp b2QocGVyaW9kKTsKKwkJCUNvbnN0cmFpbnQgKmNvbnN0ciA9IG1ha2VOb3ROdWxsQ29uc3RyYWlu dChtYWtlU3RyaW5nKGNvbC0+Y29sbmFtZSkpOworCisJCQlzdG10LT50YWJsZUVsdHMgPSBsYXBw ZW5kKHN0bXQtPnRhYmxlRWx0cywgY29sKTsKKwkJCXN0bXQtPm5uY29uc3RyYWludHMgPSBsYXBw ZW5kKHN0bXQtPm5uY29uc3RyYWludHMsIGNvbnN0cik7CisJCX0KKwl9CisKIAkvKgogCSAqIENy ZWF0ZSBhIHR1cGxlIGRlc2NyaXB0b3IgZnJvbSB0aGUgcmVsYXRpb24gc2NoZW1hLiAgTm90ZSB0 aGF0IHRoaXMKIAkgKiBkZWFscyB3aXRoIGNvbHVtbiBuYW1lcywgdHlwZXMsIGFuZCBpbi1kZXNj cmlwdG9yIE5PVCBOVUxMIGZsYWdzLCBidXQKQEAgLTEzMzYsNyArMTQ0OSw3IEBAIERlZmluZVJl bGF0aW9uKENyZWF0ZVN0bXQgKnN0bXQsIGNoYXIgcmVsa2luZCwgT2lkIG93bmVySWQsCiAJCQkJ CQkJCSAgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIHF1ZXJ5U3RyaW5nKTsKIAogCS8qCi0JICogRmluYWxs eSwgbWVyZ2UgdGhlIG5vdC1udWxsIGNvbnN0cmFpbnRzIHRoYXQgYXJlIGRlY2xhcmVkIGRpcmVj dGx5IHdpdGgKKwkgKiBOb3cgbWVyZ2UgdGhlIG5vdC1udWxsIGNvbnN0cmFpbnRzIHRoYXQgYXJl IGRlY2xhcmVkIGRpcmVjdGx5IHdpdGgKIAkgKiB0aG9zZSB0aGF0IGNvbWUgZnJvbSBwYXJlbnQg cmVsYXRpb25zIChtYWtpbmcgc3VyZSB0byBjb3VudCBpbmhlcml0YW5jZQogCSAqIGFwcHJvcHJp YXRlbHkgZm9yIGVhY2gpLCBjcmVhdGUgdGhlbSwgYW5kIHNldCB0aGUgYXR0bm90bnVsbCBmbGFn IG9uCiAJICogY29sdW1ucyB0aGF0IGRvbid0IHlldCBoYXZlIGl0LgpAQCAtMTM0Niw2ICsxNDU5 LDIxIEBAIERlZmluZVJlbGF0aW9uKENyZWF0ZVN0bXQgKnN0bXQsIGNoYXIgcmVsa2luZCwgT2lk IG93bmVySWQsCiAJZm9yZWFjaF9pbnQoYXR0cm51bSwgbm5jb2xzKQogCQlzZXRfYXR0bm90bnVs bChOVUxMLCByZWwsIGF0dHJudW0sIHRydWUsIGZhbHNlKTsKIAorCS8qCisJICogRmluYWxseSwg Y3JlYXRlIHBlcmlvZHMgZm9yIHRoZSB0YWJsZS4gVGhpcyBtdXN0IGNvbWUgYWZ0ZXIgd2UgY3Jl YXRlCisJICogY29sdW1ucyBhbmQgYmVmb3JlIHdlIGNyZWF0ZSBpbmRleCBjb25zdHJhaW50cy4g SXQgd2lsbCBhdXRvbWF0aWNhbGx5CisJICogY3JlYXRlIGEgQ0hFQ0sgY29uc3RyYWludCBmb3Ig dGhlIHBlcmlvZC4KKwkgKi8KKwlmb3JlYWNoKGxpc3RwdHIsIHN0bXQtPnBlcmlvZHMpCisJewor CQlQZXJpb2REZWYgICpwZXJpb2QgPSAoUGVyaW9kRGVmICopIGxmaXJzdChsaXN0cHRyKTsKKwor CQkvKiBEb24ndCB1cGRhdGUgdGhlIGNvdW50IG9mIGNoZWNrIGNvbnN0cmFpbnRzIHR3aWNlICov CisJCUNvbW1hbmRDb3VudGVySW5jcmVtZW50KCk7CisKKwkJQWRkUmVsYXRpb25OZXdQZXJpb2Qo cmVsLCBwZXJpb2QpOworCX0KKwogCU9iamVjdEFkZHJlc3NTZXQoYWRkcmVzcywgUmVsYXRpb25S ZWxhdGlvbklkLCByZWxhdGlvbklkKTsKIAogCS8qCkBAIC0xNDQ1LDYgKzE1NzMsMzM2IEBAIEJ1 aWxkRGVzY0ZvclJlbGF0aW9uKGNvbnN0IExpc3QgKmNvbHVtbnMpCiAJcmV0dXJuIGRlc2M7CiB9 CiAKKy8qCisgKiBtYWtlX2NvbnN0cmFpbnRfZm9yX3BlcmlvZAorICoKKyAqIEJ1aWxkcyBhIENI RUNLIENvbnN0cmFpbnQgdG8gZW5zdXJlIHN0YXJ0IDwgZW5kLgorICogUmV0dXJucyB0aGUgQ0hF Q0sgQ29uc3RyYWludC4KKyAqIEFsc28gZmlsbHMgaW4gcGVyaW9kLT5jb25zdHJhaW50bmFtZSBp ZiBuZWVkZWQuCisgKgorICogSWYgZWl0aGVyIGJvdW5kIGlzIE5VTEwsIHRoZSBjb25zdHJhaW50 IHBhc3NlcworICogKHNpbmNlIHRoYXQgaW5kaWNhdGVzIGFuIHVuYm91bmRlZCByYW5nZSkuCisg Ki8KK3N0YXRpYyBDb25zdHJhaW50ICoKK21ha2VfY29uc3RyYWludF9mb3JfcGVyaW9kKFJlbGF0 aW9uIHJlbCwgUGVyaW9kRGVmICpwZXJpb2QpCit7CisJQ29sdW1uUmVmICAqc2NvbCwKKwkJCSAg ICplY29sOworCUNvbnN0cmFpbnQgKmNvbnN0cjsKKwlUeXBlQ2FjaGVFbnRyeSAqdHlwZTsKKwor CWlmIChwZXJpb2QtPmNvbnN0cmFpbnRuYW1lID09IE5VTEwpCisJCXBlcmlvZC0+Y29uc3RyYWlu dG5hbWUgPSBDaG9vc2VDb25zdHJhaW50TmFtZShSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwp LAorCQkJCQkJCQkJCQkJCSAgcGVyaW9kLT5wZXJpb2RuYW1lLAorCQkJCQkJCQkJCQkJCSAgImNo ZWNrIiwKKwkJCQkJCQkJCQkJCQkgIFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbCksCisJCQkJCQkJ CQkJCQkJICBOSUwpOworCXNjb2wgPSBtYWtlTm9kZShDb2x1bW5SZWYpOworCXNjb2wtPmZpZWxk cyA9IGxpc3RfbWFrZTEobWFrZVN0cmluZyhwc3RyZHVwKHBlcmlvZC0+c3RhcnRjb2xuYW1lKSkp OworCXNjb2wtPmxvY2F0aW9uID0gMDsKKworCWVjb2wgPSBtYWtlTm9kZShDb2x1bW5SZWYpOwor CWVjb2wtPmZpZWxkcyA9IGxpc3RfbWFrZTEobWFrZVN0cmluZyhwc3RyZHVwKHBlcmlvZC0+ZW5k Y29sbmFtZSkpKTsKKwllY29sLT5sb2NhdGlvbiA9IDA7CisKKwl0eXBlID0gbG9va3VwX3R5cGVf Y2FjaGUocGVyaW9kLT5jb2x0eXBpZCwgVFlQRUNBQ0hFX0xUX09QUik7CisJaWYgKHR5cGUtPmx0 X29wciA9PSBJbnZhbGlkT2lkKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNP REVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIGNh bm5vdCBiZSB1c2VkIGluIGEgUEVSSU9EIGJlY2F1c2UgaXRzIHR5cGUgJXMgaGFzIG5vIGxlc3Mg dGhhbiBvcGVyYXRvciIsCisJCQkJCQlwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgZm9ybWF0X3R5cGVf YmUocGVyaW9kLT5jb2x0eXBpZCkpKSk7CisKKwljb25zdHIgPSBtYWtlTm9kZShDb25zdHJhaW50 KTsKKwljb25zdHItPmNvbnR5cGUgPSBDT05TVFJfQ0hFQ0s7CisJY29uc3RyLT5jb25uYW1lID0g cGVyaW9kLT5jb25zdHJhaW50bmFtZTsKKwljb25zdHItPmRlZmVycmFibGUgPSBmYWxzZTsKKwlj b25zdHItPmluaXRkZWZlcnJlZCA9IGZhbHNlOworCWNvbnN0ci0+bG9jYXRpb24gPSAtMTsKKwlj b25zdHItPmlzX25vX2luaGVyaXQgPSBmYWxzZTsKKwljb25zdHItPnJhd19leHByID0gKE5vZGUg KikgbWFrZVNpbXBsZUFfRXhwcihBRVhQUl9PUCwKKwkJCQkJCQkJCQkJCSBnZXRfb3BuYW1lKHR5 cGUtPmx0X29wciksCisJCQkJCQkJCQkJCQkgKE5vZGUgKikgc2NvbCwKKwkJCQkJCQkJCQkJCSAo Tm9kZSAqKSBlY29sLAorCQkJCQkJCQkJCQkJIDApOworCWNvbnN0ci0+Y29va2VkX2V4cHIgPSBO VUxMOworCWNvbnN0ci0+c2tpcF92YWxpZGF0aW9uID0gZmFsc2U7CisJY29uc3RyLT5pc19lbmZv cmNlZCA9IHRydWU7CisJY29uc3RyLT5pbml0aWFsbHlfdmFsaWQgPSB0cnVlOworCisJcmV0dXJu IGNvbnN0cjsKK30KKworLyoKKyAqIG1ha2VfcmFuZ2VfY29sdW1uX2Zvcl9wZXJpb2QKKyAqCisg KiBCdWlsZHMgYSBHRU5FUkFURUQgQUxXQVlTIHJhbmdlIGNvbHVtbiBiYXNlZCBvbiB0aGUgUEVS SU9ECisgKiBzdGFydC9lbmQgY29sdW1ucy4gUmV0dXJucyB0aGUgQ29sdW1uRGVmLgorICovCitD b2x1bW5EZWYgKgorbWFrZV9yYW5nZV9jb2x1bW5fZm9yX3BlcmlvZChQZXJpb2REZWYgKnBlcmlv ZCkKK3sKKwljaGFyCSAgICpyYW5nZV90eXBlX25hbWVzcGFjZTsKKwljaGFyCSAgICpyYW5nZV90 eXBlX25hbWU7CisJQ29sdW1uRGVmICAqY29sID0gbWFrZU5vZGUoQ29sdW1uRGVmKTsKKwlDb2x1 bW5SZWYgICpzdGFydHZhciwKKwkJCSAgICplbmR2YXI7CisJRXhwcgkgICAqcmFuZ2VDb25zdHJ1 Y3RvcjsKKworCWlmICghZ2V0X3R5cG5hbWVfYW5kX25hbWVzcGFjZShwZXJpb2QtPnJuZ3R5cGlk LCAmcmFuZ2VfdHlwZV9uYW1lLAorCQkJCQkJCQkgICAmcmFuZ2VfdHlwZV9uYW1lc3BhY2UpKQor CQllbG9nKEVSUk9SLCAibWlzc2luZyByYW5nZSB0eXBlICVkIiwgcGVyaW9kLT5ybmd0eXBpZCk7 CisKKwlzdGFydHZhciA9IG1ha2VOb2RlKENvbHVtblJlZik7CisJc3RhcnR2YXItPmZpZWxkcyA9 IGxpc3RfbWFrZTEobWFrZVN0cmluZyhwc3RyZHVwKHBlcmlvZC0+c3RhcnRjb2xuYW1lKSkpOwor CWVuZHZhciA9IG1ha2VOb2RlKENvbHVtblJlZik7CisJZW5kdmFyLT5maWVsZHMgPSBsaXN0X21h a2UxKG1ha2VTdHJpbmcocHN0cmR1cChwZXJpb2QtPmVuZGNvbG5hbWUpKSk7CisJcmFuZ2VDb25z dHJ1Y3RvciA9IChFeHByICopIG1ha2VGdW5jQ2FsbCgKKwkJCQkJCQkJCQkJIGxpc3RfbWFrZTIo bWFrZVN0cmluZyhyYW5nZV90eXBlX25hbWVzcGFjZSksIG1ha2VTdHJpbmcocmFuZ2VfdHlwZV9u YW1lKSksCisJCQkJCQkJCQkJCSBsaXN0X21ha2UyKHN0YXJ0dmFyLCBlbmR2YXIpLAorCQkJCQkJ CQkJCQkgQ09FUkNFX0VYUExJQ0lUX0NBTEwsCisJCQkJCQkJCQkJCSBwZXJpb2QtPmxvY2F0aW9u KTsKKworCWNvbC0+Y29sbmFtZSA9IHBzdHJkdXAocGVyaW9kLT5wZXJpb2RuYW1lKTsKKwljb2wt PnR5cGVOYW1lID0gbWFrZVR5cGVOYW1lKHJhbmdlX3R5cGVfbmFtZSk7CisJY29sLT5jb21wcmVz c2lvbiA9IE5VTEw7CisJY29sLT5pbmhjb3VudCA9IDA7CisJY29sLT5pc19sb2NhbCA9IHRydWU7 CisJY29sLT5pc19ub3RfbnVsbCA9IHRydWU7CisJY29sLT5pc19mcm9tX3R5cGUgPSBmYWxzZTsK Kwljb2wtPnN0b3JhZ2UgPSAwOworCWNvbC0+c3RvcmFnZV9uYW1lID0gTlVMTDsKKwljb2wtPnJh d19kZWZhdWx0ID0gKE5vZGUgKikgcmFuZ2VDb25zdHJ1Y3RvcjsKKwljb2wtPmNvb2tlZF9kZWZh dWx0ID0gTlVMTDsKKwljb2wtPmlkZW50aXR5ID0gMDsKKwljb2wtPmdlbmVyYXRlZCA9IEFUVFJJ QlVURV9HRU5FUkFURURfU1RPUkVEOworCWNvbC0+Y29sbENsYXVzZSA9IE5VTEw7CisJY29sLT5j b2xsT2lkID0gSW52YWxpZE9pZDsKKwljb2wtPmZkd29wdGlvbnMgPSBOSUw7CisJY29sLT5sb2Nh dGlvbiA9IHBlcmlvZC0+bG9jYXRpb247CisKKwlyZXR1cm4gY29sOworfQorCisvKgorICogVmFs aWRhdGVQZXJpb2QKKyAqCisgKiBMb29rIHVwIHRoZSBhdHRyaWJ1dGVzIHVzZWQgYnkgdGhlIFBF UklPRCwKKyAqIG1ha2Ugc3VyZSB0aGV5IGV4aXN0LCBhcmUgbm90IHN5c3RlbSBjb2x1bW5zLAor ICogYW5kIGhhdmUgdGhlIHNhbWUgdHlwZSBhbmQgY29sbGF0aW9uLgorICoKKyAqIEFkZCBvdXIg ZmluZGluZ3MgdG8gdGhlc2UgUGVyaW9kRGVmIGZpZWxkczoKKyAqCisgKiBjb2x0eXBpZCAtIHRo ZSB0eXBlIG9mIFBFUklPRCBjb2x1bW5zLgorICogc3RhcnRhdHRudW0gLSB0aGUgYXR0bnVtIG9m IHRoZSBzdGFydCBjb2x1bW4uCisgKiBlbmRhdHRudW0gLSB0aGUgYXR0bnVtIG9mIHRoZSBlbmQg Y29sdW1uLgorICogcm5ndHlwaWQgLSB0aGUgcmFuZ2UgdHlwZSB0byB1c2UuCisgKiBybmdhdHRu dW0gLSB0aGUgYXR0bnVtIG9mIGEgcHJlLWV4aXN0aW5nIHJhbmdlIGNvbHVtbiwgb3IgSW52YWxp ZC4KKyAqLworc3RhdGljIHZvaWQKK1ZhbGlkYXRlUGVyaW9kKFJlbGF0aW9uIHJlbCwgUGVyaW9k RGVmICpwZXJpb2QpCit7CisJSGVhcFR1cGxlCXN0YXJ0dHVwbGU7CisJSGVhcFR1cGxlCWVuZHR1 cGxlOworCUZvcm1fcGdfYXR0cmlidXRlIGF0dHR1cGxlOworCU9pZAkJCWF0dGNvbGxhdGlvbjsK KwlPaWQJCQllbmR0eXBpZDsKKwlPaWQJCQllbmRjb2xsYXRpb247CisKKwkvKiBGaW5kIHRoZSBz dGFydCBjb2x1bW4gKi8KKwlzdGFydHR1cGxlID0gU2VhcmNoU3lzQ2FjaGVBdHROYW1lKFJlbGF0 aW9uR2V0UmVsaWQocmVsKSwgcGVyaW9kLT5zdGFydGNvbG5hbWUpOworCWlmICghSGVhcFR1cGxl SXNWYWxpZChzdGFydHR1cGxlKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJD T0RFX1VOREVGSU5FRF9DT0xVTU4pLAorCQkJCSBlcnJtc2coImNvbHVtbiBcIiVzXCIgb2YgcmVs YXRpb24gXCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKKwkJCQkJCXBlcmlvZC0+c3RhcnRjb2xuYW1l LCBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkpOworCWF0dHR1cGxlID0gKEZvcm1fcGdf YXR0cmlidXRlKSBHRVRTVFJVQ1Qoc3RhcnR0dXBsZSk7CisJcGVyaW9kLT5jb2x0eXBpZCA9IGF0 dHR1cGxlLT5hdHR0eXBpZDsKKwlhdHRjb2xsYXRpb24gPSBhdHR0dXBsZS0+YXR0Y29sbGF0aW9u OworCXBlcmlvZC0+c3RhcnRhdHRudW0gPSBhdHR0dXBsZS0+YXR0bnVtOworCVJlbGVhc2VTeXND YWNoZShzdGFydHR1cGxlKTsKKworCS8qIE1ha2Ugc3VyZSBpdCdzIG5vdCBhIHN5c3RlbSBjb2x1 bW4gKi8KKwlpZiAocGVyaW9kLT5zdGFydGF0dG51bSA8PSAwKQorCQllcmVwb3J0KEVSUk9SLAor CQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9PQkpFQ1RfREVGSU5JVElPTiksCisJCQkJIGVy cm1zZygiY2Fubm90IHVzZSBzeXN0ZW0gY29sdW1uIFwiJXNcIiBpbiBwZXJpb2QiLAorCQkJCQkJ cGVyaW9kLT5zdGFydGNvbG5hbWUpKSk7CisKKwkvKiBGaW5kIHRoZSBlbmQgY29sdW1uICovCisJ ZW5kdHVwbGUgPSBTZWFyY2hTeXNDYWNoZUF0dE5hbWUoUmVsYXRpb25HZXRSZWxpZChyZWwpLCBw ZXJpb2QtPmVuZGNvbG5hbWUpOworCWlmICghSGVhcFR1cGxlSXNWYWxpZChlbmR0dXBsZSkpCisJ CWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwK KwkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBl eGlzdCIsCisJCQkJCQlwZXJpb2QtPmVuZGNvbG5hbWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1l KHJlbCkpKSk7CisJYXR0dHVwbGUgPSAoRm9ybV9wZ19hdHRyaWJ1dGUpIEdFVFNUUlVDVChlbmR0 dXBsZSk7CisJZW5kdHlwaWQgPSBhdHR0dXBsZS0+YXR0dHlwaWQ7CisJZW5kY29sbGF0aW9uID0g YXR0dHVwbGUtPmF0dGNvbGxhdGlvbjsKKwlwZXJpb2QtPmVuZGF0dG51bSA9IGF0dHR1cGxlLT5h dHRudW07CisJUmVsZWFzZVN5c0NhY2hlKGVuZHR1cGxlKTsKKworCS8qIE1ha2Ugc3VyZSBpdCdz IG5vdCBhIHN5c3RlbSBjb2x1bW4gKi8KKwlpZiAocGVyaW9kLT5lbmRhdHRudW0gPD0gMCkKKwkJ ZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklO SVRJT04pLAorCQkJCSBlcnJtc2coImNhbm5vdCB1c2Ugc3lzdGVtIGNvbHVtbiBcIiVzXCIgaW4g cGVyaW9kIiwKKwkJCQkJCXBlcmlvZC0+ZW5kY29sbmFtZSkpKTsKKworCS8qIEJvdGggY29sdW1u cyBtdXN0IGJlIG9mIHNhbWUgdHlwZSAqLworCWlmIChwZXJpb2QtPmNvbHR5cGlkICE9IGVuZHR5 cGlkKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlT TUFUQ0gpLAorCQkJCSBlcnJtc2coInN0YXJ0IGFuZCBlbmQgY29sdW1ucyBvZiBwZXJpb2QgbXVz dCBiZSBvZiBzYW1lIHR5cGUiKSkpOworCisJLyogQm90aCBjb2x1bW5zIG11c3QgaGF2ZSB0aGUg c2FtZSBjb2xsYXRpb24gKi8KKwlpZiAoYXR0Y29sbGF0aW9uICE9IGVuZGNvbGxhdGlvbikKKwkJ ZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0NPTExBVElPTl9NSVNNQVRDSCks CisJCQkJIGVycm1zZygic3RhcnQgYW5kIGVuZCBjb2x1bW5zIG9mIHBlcmlvZCBtdXN0IGhhdmUg c2FtZSBjb2xsYXRpb24iKSkpOworCisJLyogR2V0IHRoZSByYW5nZSB0eXBlIGJhc2VkIG9uIHRo ZSBzdGFydC9lbmQgY29scyBvciB0aGUgdXNlcidzIGNob2ljZSAqLworCXBlcmlvZC0+cm5ndHlw aWQgPSBjaG9vc2VfcmFuZ2V0eXBlX2Zvcl9wZXJpb2QocGVyaW9kKTsKKworCS8qCisJICogSWYg dGhlIEdFTkVSQVRFRCBjb2x1bW5zIHNob3VsZCBhbHJlYWR5IGV4aXN0LCBtYWtlIHN1cmUgaXQg aXMKKwkgKiBzZW5zaWJsZS4KKwkgKi8KKwlpZiAocGVyaW9kLT5jb2xleGlzdHMpCisJeworCQlI ZWFwVHVwbGUJcm5ndHVwbGUgPSBTZWFyY2hTeXNDYWNoZUF0dE5hbWUoUmVsYXRpb25HZXRSZWxp ZChyZWwpLAorCQkJCQkJCQkJCQkJCSBwZXJpb2QtPnBlcmlvZG5hbWUpOworCisJCWlmICghSGVh cFR1cGxlSXNWYWxpZChybmd0dXBsZSkpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29k ZShFUlJDT0RFX1VOREVGSU5FRF9DT0xVTU4pLAorCQkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wi IG9mIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQkJcGVyaW9kLT5wZXJp b2RuYW1lLCBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkpOworCQlhdHR0dXBsZSA9IChG b3JtX3BnX2F0dHJpYnV0ZSkgR0VUU1RSVUNUKHJuZ3R1cGxlKTsKKworCQkvKgorCQkgKiBNYWtl IHN1cmUgdGhlIGV4aXN0aW5nIGNvbHVtbiBtYXRjaGVzIHdoYXQgd2Ugd291bGQgaGF2ZSBjcmVh dGVkLgorCQkgKiBGaXJzdCBvZiBhbGwsIGl0IG11c3QgYmUgR0VORVJBVEVELgorCQkgKi8KKwkJ aWYgKGF0dHR1cGxlLT5hdHRnZW5lcmF0ZWQgPT0gJ1wwJykKKwkJCWVyZXBvcnQoRVJST1IsIChl cnJtc2coIlBlcmlvZCAlcyB1c2VzIGEgbm9uLWdlbmVyYXRlZCBjb2x1bW4iLAorCQkJCQkJCXBl cmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCQkvKiBUaGUgR0VORVJBVEVEIGNvbHVtbiBtdXN0IGJl IFNUT1JFRC4gKi8KKwkJaWYgKGF0dHR1cGxlLT5hdHRnZW5lcmF0ZWQgIT0gQVRUUklCVVRFX0dF TkVSQVRFRF9TVE9SRUQpCisJCQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMgdXNl cyBhIGdlbmVyYXRlZCBjb2x1bW4gdGhhdCBpcyBub3QgU1RPUkVEIiwKKwkJCQkJCQlwZXJpb2Qt PnBlcmlvZG5hbWUpKSk7CisKKwkJLyogVGhlIEdFTkVSQVRFRCBjb2x1bW4gbXVzdCBub3QgYWxs b3cgbnVsbHMuICovCisJCWlmICghYXR0dHVwbGUtPmF0dG5vdG51bGwgJiYgIUlzQmluYXJ5VXBn cmFkZSkKKwkJCWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1c2VzIGEgZ2VuZXJh dGVkIGNvbHVtbiB0aGF0IGFsbG93cyBudWxscyIsCisJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1l KSkpOworCisJCS8qIFRoZSBHRU5FUkFURUQgY29sdW1uIG11c3QgbWF0Y2ggb3VyIHJhbmdldHlw ZS4gKi8KKwkJaWYgKHBlcmlvZC0+cm5ndHlwaWQgIT0gYXR0dHVwbGUtPmF0dHR5cGlkKQorCQkJ ZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1u IHdpdGggdGhlIHdyb25nIHR5cGUiLAorCQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKwor CQkvKgorCQkgKiBUaGUgR0VORVJBVEVEIGNvbHVtbiBtdXN0IG5vdCBiZSBpbmhlcml0ZWQuCisJ CSAqIFhYWDogSWYgdGhlIFBFUklPRCBpcyBpbmhlcml0ZWQsIHRoZXkgbXVzdCBjb21lIGZyb20g dGhlIHNhbWUgcGFyZW50LgorCQkgKi8KKwkJaWYgKCFhdHR0dXBsZS0+YXR0aXNsb2NhbCkKKwkJ CWVyZXBvcnQoRVJST1IsIChlcnJtc2coIlBlcmlvZCAlcyB1c2VzIGEgZ2VuZXJhdGVkIGNvbHVt biB0aGF0IGlzIGluaGVyaXRlZCIsCisJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCisJ CS8qCisJCSAqIFhYWDogV2Ugc2hvdWxkIGNoZWNrIHRoZSBHRU5FUkFURUQgZXhwcmVzc2lvbiBh bHNvLCBidXQgdGhhdCBpcworCQkgKiBoYXJkIHRvIGRvIGJlY2F1c2Ugb25lIGlzIGNvb2tlZCBh bmQgb25lIGlzIHJhdy4KKwkJICovCisKKwkJcGVyaW9kLT5ybmdhdHRudW0gPSBhdHR0dXBsZS0+ YXR0bnVtOworCisJCVJlbGVhc2VTeXNDYWNoZShybmd0dXBsZSk7CisJfQorfQorCisvKgorICog Y2hvb3NlX3JhbmdldHlwZV9mb3JfcGVyaW9kCisgKgorICogRmluZCBhIHN1aXRhYmxlIHJhbmdl IHR5cGUgZm9yIG9wZXJhdGlvbnMgaW52b2x2aW5nIHRoaXMgcGVyaW9kLgorICogVXNlIHRoZSBy YW5nZXR5cGUgb3B0aW9uIGlmIHByb3ZpZGVkLCBvdGhlcndpc2UgdHJ5IHRvIGZpbmQgYQorICog bm9uLWFtYmlndW91cyBleGlzdGluZyB0eXBlLgorICovCitPaWQKK2Nob29zZV9yYW5nZXR5cGVf Zm9yX3BlcmlvZChQZXJpb2REZWYgKnBlcmlvZCkKK3sKKwlPaWQJCQlybmd0eXBpZDsKKworCWlm IChwZXJpb2QtPnJhbmdldHlwZW5hbWUgIT0gTlVMTCkKKwl7CisJCS8qIE1ha2Ugc3VyZSBpdCBl eGlzdHMgKi8KKwkJcm5ndHlwaWQgPSBUeXBlbmFtZUdldFR5cGlkRXh0ZW5kZWQocGVyaW9kLT5y YW5nZXR5cGVuYW1lLCBmYWxzZSk7CisJCWlmIChybmd0eXBpZCA9PSBJbnZhbGlkT2lkKQorCQkJ ZXJlcG9ydChFUlJPUiwgKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfT0JKRUNUKSwKKwkJCQkJ CQllcnJtc2coIlJhbmdlIHR5cGUgJXMgbm90IGZvdW5kIiwKKwkJCQkJCQkJICAgcGVyaW9kLT5y YW5nZXR5cGVuYW1lKSkpOworCisJCS8qIE1ha2Ugc3VyZSBpdCBpcyBhIHJhbmdlIHR5cGUgKi8K KwkJaWYgKCF0eXBlX2lzX3JhbmdlKHJuZ3R5cGlkKSkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJ CShlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlTTUFUQ0gpLAorCQkJCQkgZXJybXNnKCJUeXBl ICVzIGlzIG5vdCBhIHJhbmdlIHR5cGUiLAorCQkJCQkJCXBlcmlvZC0+cmFuZ2V0eXBlbmFtZSkp KTsKKworCQkvKiBNYWtlIHN1cmUgaXQgbWF0Y2hlcyB0aGUgY29sdW1uIHR5cGUgKi8KKwkJaWYg KGdldF9yYW5nZV9zdWJ0eXBlKHJuZ3R5cGlkKSAhPSBwZXJpb2QtPmNvbHR5cGlkKQorCQkJZXJl cG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJ CQkJCSBlcnJtc2coIlJhbmdlIHR5cGUgJXMgZG9lcyBub3QgbWF0Y2ggY29sdW1uIHR5cGUgJXMi LAorCQkJCQkJCXBlcmlvZC0+cmFuZ2V0eXBlbmFtZSwKKwkJCQkJCQlmb3JtYXRfdHlwZV9iZShw ZXJpb2QtPmNvbHR5cGlkKSkpKTsKKwl9CisJZWxzZQorCXsKKwkJcm5ndHlwaWQgPSBnZXRfc3Vi dHlwZV9yYW5nZShwZXJpb2QtPmNvbHR5cGlkKTsKKwkJaWYgKHJuZ3R5cGlkID09IEludmFsaWRP aWQpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9P QkpFQ1QpLAorCQkJCQkgZXJybXNnKCJubyByYW5nZSB0eXBlIGZvciAlcyBmb3VuZCBmb3IgcGVy aW9kICVzIiwKKwkJCQkJCQlmb3JtYXRfdHlwZV9iZShwZXJpb2QtPmNvbHR5cGlkKSwKKwkJCQkJ CQlwZXJpb2QtPnBlcmlvZG5hbWUpLAorCQkJCQkgZXJyaGludCgiWW91IGNhbiBkZWZpbmUgYSBj dXN0b20gcmFuZ2UgdHlwZSB3aXRoIENSRUFURSBUWVBFIikpKTsKKworCX0KKworCXJldHVybiBy bmd0eXBpZDsKK30KKworc3RhdGljIHZvaWQKK0FkZFJlbGF0aW9uTmV3UGVyaW9kKFJlbGF0aW9u IHJlbCwgUGVyaW9kRGVmICpwZXJpb2QpCit7CisJUmVsYXRpb24JYXR0cmVsYXRpb247CisJT2lk CQkJY29ub2lkOworCUNvbnN0cmFpbnQgKmNvbnN0cjsKKwlMaXN0CSAgICpuZXdjb25zdHJzOwor CisJYXR0cmVsYXRpb24gPSB0YWJsZV9vcGVuKEF0dHJpYnV0ZVJlbGF0aW9uSWQsIFJvd0V4Y2x1 c2l2ZUxvY2spOworCisJLyogRmluZCB0aGUgR0VORVJBVEVEIHJhbmdlIGNvbHVtbiAqLworCisJ cGVyaW9kLT5ybmdhdHRudW0gPSBnZXRfYXR0bnVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgcGVy aW9kLT5wZXJpb2RuYW1lKTsKKwlpZiAocGVyaW9kLT5ybmdhdHRudW0gPT0gSW52YWxpZEF0dHJO dW1iZXIpCisJCWVsb2coRVJST1IsICJtaXNzaW5nIGF0dHJpYnV0ZSAlcyIsIHBlcmlvZC0+cGVy aW9kbmFtZSk7CisKKwkvKiBUaGUgcGFyc2VyIGhhcyBhbHJlYWR5IGZvdW5kIHBlcmlvZC0+Y29s dHlwaWQgKi8KKworCWNvbnN0ciA9IG1ha2VfY29uc3RyYWludF9mb3JfcGVyaW9kKHJlbCwgcGVy aW9kKTsKKwluZXdjb25zdHJzID0gQWRkUmVsYXRpb25OZXdDb25zdHJhaW50cyhyZWwsIE5JTCwg bGlzdF9tYWtlMShjb25zdHIpLCBmYWxzZSwKKwkJCQkJCQkJCQkgICB0cnVlLCB0cnVlLCBOVUxM KTsKKwljb25vaWQgPSAoKENvb2tlZENvbnN0cmFpbnQgKikgbGluaXRpYWwobmV3Y29uc3Rycykp LT5jb25vaWQ7CisKKwkvKiBTYXZlIGl0ICovCisJU3RvcmVQZXJpb2QocmVsLCBwZXJpb2QtPnBl cmlvZG5hbWUsIHBlcmlvZC0+c3RhcnRhdHRudW0sIHBlcmlvZC0+ZW5kYXR0bnVtLAorCQkJCXBl cmlvZC0+cm5nYXR0bnVtLCBjb25vaWQpOworCisJdGFibGVfY2xvc2UoYXR0cmVsYXRpb24sIFJv d0V4Y2x1c2l2ZUxvY2spOworfQorCiAvKgogICogRW1pdCB0aGUgcmlnaHQgZXJyb3Igb3Igd2Fy bmluZyBtZXNzYWdlIGZvciBhICJEUk9QIiBjb21tYW5kIGlzc3VlZCBvbiBhCiAgKiBub24tZXhp c3RlbnQgcmVsYXRpb24KQEAgLTI3NDcsNyArMzIwNSw3IEBAIE1lcmdlQXR0cmlidXRlcyhMaXN0 ICpjb2x1bW5zLCBjb25zdCBMaXN0ICpzdXBlcnMsIGNoYXIgcmVscGVyc2lzdGVuY2UsCiAJCSAq IHRoYXQncyBub3QgbWFya2VkIE5PIElOSEVSSVQgKGV2ZW4gaWYgbm90IHZhbGlkKS4KIAkJICov CiAJCW5uY29uc3RycyA9IFJlbGF0aW9uR2V0Tm90TnVsbENvbnN0cmFpbnRzKFJlbGF0aW9uR2V0 UmVsaWQocmVsYXRpb24pLAotCQkJCQkJCQkJCQkJICB0cnVlLCBmYWxzZSk7CisJCQkJCQkJCQkJ CQkgIHRydWUsIGZhbHNlLCBOVUxMKTsKIAkJZm9yZWFjaF9wdHIoQ29va2VkQ29uc3RyYWludCwg Y2MsIG5uY29uc3RycykKIAkJCW5uY29scyA9IGJtc19hZGRfbWVtYmVyKG5uY29scywgY2MtPmF0 dG51bSk7CiAKQEAgLTMxNDAsNiArMzU5OCwxNzIgQEAgTWVyZ2VBdHRyaWJ1dGVzKExpc3QgKmNv bHVtbnMsIGNvbnN0IExpc3QgKnN1cGVycywgY2hhciByZWxwZXJzaXN0ZW5jZSwKIH0KIAogCisv Ki0tLS0tLS0tLS0KKyAqIE1lcmdlUGVyaW9kcworICoJCVJldHVybnMgbmV3IHBlcmlvZCBsaXN0 IGdpdmVuIGluaXRpYWwgcGVyaW9kcyBhbmQgc3VwZXJjbGFzc2VzLgorICoKKyAqIEZvciBub3cg d2UgZG9uJ3Qgc3VwcG9ydCBpbmhlcml0ZW5jZSB3aXRoIFBFUklPRHMsCisgKiBidXQgd2UgbWln aHQgbWFrZSBpdCB3b3JrIGV2ZW50dWFsbHkuCisgKgorICogV2UgY2FuIG9taXQgbG90cyBvZiBj aGVja3MgaGVyZSBhbmQgYXNzdW1lIE1lcmdlQXR0cmlidXRlcyBhbHJlYWR5IGRpZCB0aGVtLAor ICogZm9yIGV4YW1wbGUgdGhhdCBjaGlsZCAmIHBhcmVudHMgYXJlIG5vdCBhIG1peCBvZiBwZXJt YW5lbnQgYW5kIHRlbXAuCisgKi8KK3N0YXRpYyBMaXN0ICoKK01lcmdlUGVyaW9kcyhjaGFyICpy ZWxuYW1lLCBMaXN0ICpwZXJpb2RzLCBMaXN0ICp0YWJsZUVsdHMsIExpc3QgKnN1cGVycykKK3sK KwlMaXN0Q2VsbCAgICplbnRyeTsKKworCS8qIElmIHdlIGhhdmUgYSBQRVJJT0QgdGhlbiBzdXBl cnMgbXVzdCBiZSBlbXB0eS4gKi8KKworCWlmIChsaXN0X2xlbmd0aChwZXJpb2RzKSA+IDAgJiYg bGlzdF9sZW5ndGgoc3VwZXJzKSA+IDApCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUo RVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coIkluaGVyaXRpbmcg aXMgbm90IHN1cHBvcnRlZCB3aGVuIGEgdGFibGUgaGFzIGEgUEVSSU9EIikpKTsKKworCS8qIElm IGFueSBwYXJlbnQgdGFibGUgaGFzIGEgUEVSSU9ELCB0aGVuIGZhaWwuICovCisKKwlmb3JlYWNo KGVudHJ5LCBzdXBlcnMpCisJeworCQlPaWQJCQlwYXJlbnQgPSBsZmlyc3Rfb2lkKGVudHJ5KTsK KwkJUmVsYXRpb24JcmVsYXRpb247CisJCVJlbGF0aW9uCXBnX3BlcmlvZDsKKwkJU3lzU2NhbkRl c2Mgc2NhbjsKKwkJU2NhbktleURhdGEgc2tleVsxXTsKKwkJSGVhcFR1cGxlCXR1cGxlOworCisJ CS8qIGNhbGxlciBhbHJlYWR5IGdvdCBsb2NrICovCisJCXJlbGF0aW9uID0gdGFibGVfb3Blbihw YXJlbnQsIE5vTG9jayk7CisJCXBnX3BlcmlvZCA9IHRhYmxlX29wZW4oUGVyaW9kUmVsYXRpb25J ZCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCQlTY2FuS2V5SW5pdCgmc2tleVswXSwKKwkJCQkJQW51 bV9wZ19wZXJpb2RfcGVycmVsaWQsCisJCQkJCUJURXF1YWxTdHJhdGVneU51bWJlciwgRl9PSURF USwKKwkJCQkJT2JqZWN0SWRHZXREYXR1bShwYXJlbnQpKTsKKworCQlzY2FuID0gc3lzdGFibGVf YmVnaW5zY2FuKHBnX3BlcmlvZCwgUGVyaW9kUmVsaWROYW1lSW5kZXhJZCwgdHJ1ZSwKKwkJCQkJ CQkJICBOVUxMLCAxLCBza2V5KTsKKworCQlpZiAoSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSA9IHN5 c3RhYmxlX2dldG5leHQoc2NhbikpKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUo RVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCQkgZXJybXNnKCJJbmhlcml0aW5n IGZyb20gYSB0YWJsZSB3aXRoIGEgUEVSSU9EIGlzIG5vdCBzdXBwb3J0ZWQiKSkpOworCisJCXN5 c3RhYmxlX2VuZHNjYW4oc2Nhbik7CisJCXRhYmxlX2Nsb3NlKHBnX3BlcmlvZCwgQWNjZXNzU2hh cmVMb2NrKTsKKwkJdGFibGVfY2xvc2UocmVsYXRpb24sIE5vTG9jayk7CisJfQorCisJLyoKKwkg KiBGaW5kIHRoZSBzdGFydCAmIGVuZCBjb2x1bW5zIGFuZCBnZXQgdGhlaXIgYXR0bm8gYW5kIHR5 cGUuIEluIHRoZSBzYW1lCisJICogcGFzcywgbWFrZSBzdXJlIHRoZSBwZXJpb2QgZG9lc24ndCBj b25mbGljdCB3aXRoIGFueSBjb2x1bW4gbmFtZXMuIEFsc28KKwkgKiBtYWtlIHN1cmUgdGhlIHNh bWUgcGVyaW9kIG5hbWUgaXNuJ3QgdXNlZCBtb3JlIHRoYW4gb25jZS4KKwkgKi8KKwlmb3JlYWNo KGVudHJ5LCBwZXJpb2RzKQorCXsKKwkJUGVyaW9kRGVmICAqcGVyaW9kID0gbGZpcnN0KGVudHJ5 KTsKKwkJTGlzdENlbGwgICAqZW50cnkyOworCQlpbnQJCQlpID0gMTsKKwkJT2lkCQkJc3RhcnRj b2x0eXBpZCA9IEludmFsaWRPaWQ7CisJCU9pZAkJCWVuZGNvbHR5cGlkID0gSW52YWxpZE9pZDsK KwkJT2lkCQkJc3RhcnRjb2xjb2xsYXRpb24gPSBJbnZhbGlkT2lkOworCQlPaWQJCQllbmRjb2xj b2xsYXRpb24gPSBJbnZhbGlkT2lkOworCisJCXBlcmlvZC0+c3RhcnRhdHRudW0gPSBJbnZhbGlk QXR0ck51bWJlcjsKKwkJcGVyaW9kLT5lbmRhdHRudW0gPSBJbnZhbGlkQXR0ck51bWJlcjsKKwor CQlpZiAoU3lzdGVtQXR0cmlidXRlQnlOYW1lKHBlcmlvZC0+cGVyaW9kbmFtZSkgIT0gTlVMTCkK KwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX0NPTFVN TiksCisJCQkJCSBlcnJtc2coInBlcmlvZCBuYW1lIFwiJXNcIiBjb25mbGljdHMgd2l0aCBhIHN5 c3RlbSBjb2x1bW4gbmFtZSIsCisJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCisJCWZv cmVhY2goZW50cnkyLCBwZXJpb2RzKQorCQl7CisJCQlQZXJpb2REZWYgICpwZXJpb2QyID0gbGZp cnN0KGVudHJ5Mik7CisKKwkJCWlmIChwZXJpb2QgIT0gcGVyaW9kMiAmJiBzdHJjbXAocGVyaW9k LT5wZXJpb2RuYW1lLCBwZXJpb2QyLT5wZXJpb2RuYW1lKSA9PSAwKQorCQkJCWVyZXBvcnQoRVJS T1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9PQkpFQ1QpLAorCQkJCQkJIGVy cm1zZygicGVyaW9kIG5hbWUgXCIlc1wiIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIsCisJCQkJ CQkJCXBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKwkJfQorCisJCWZvcmVhY2goZW50cnkyLCB0YWJs ZUVsdHMpCisJCXsKKwkJCUNvbHVtbkRlZiAgKmNvbCA9IGxmaXJzdChlbnRyeTIpOworCQkJaW50 MzIJCWF0dHR5cG1vZDsKKwkJCUFjbFJlc3VsdAlhY2xyZXN1bHQ7CisKKwkJCWlmICghcGVyaW9k LT5jb2xleGlzdHMgJiYgc3RyY21wKHBlcmlvZC0+cGVyaW9kbmFtZSwgY29sLT5jb2xuYW1lKSA9 PSAwKQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FU RV9DT0xVTU4pLAorCQkJCQkJIGVycm1zZygicGVyaW9kIG5hbWUgXCIlc1wiIGNvbmZsaWN0cyB3 aXRoIGEgY29sdW1uIG5hbWUiLAorCQkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJ CWlmIChzdHJjbXAocGVyaW9kLT5zdGFydGNvbG5hbWUsIGNvbC0+Y29sbmFtZSkgPT0gMCkKKwkJ CXsKKwkJCQlwZXJpb2QtPnN0YXJ0YXR0bnVtID0gaTsKKworCQkJCXR5cGVuYW1lVHlwZUlkQW5k TW9kKE5VTEwsIGNvbC0+dHlwZU5hbWUsICZzdGFydGNvbHR5cGlkLAorCQkJCQkJCQkJICZhdHR0 eXBtb2QpOworCisJCQkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKFR5cGVSZWxhdGlvbklk LCBzdGFydGNvbHR5cGlkLAorCQkJCQkJCQkJCQlHZXRVc2VySWQoKSwgQUNMX1VTQUdFKTsKKwkJ CQlpZiAoYWNscmVzdWx0ICE9IEFDTENIRUNLX09LKQorCQkJCQlhY2xjaGVja19lcnJvcl90eXBl KGFjbHJlc3VsdCwgc3RhcnRjb2x0eXBpZCk7CisKKwkJCQlzdGFydGNvbGNvbGxhdGlvbiA9IEdl dENvbHVtbkRlZkNvbGxhdGlvbihOVUxMLCBjb2wsIHN0YXJ0Y29sdHlwaWQpOworCQkJfQorCisJ CQlpZiAoc3RyY21wKHBlcmlvZC0+ZW5kY29sbmFtZSwgY29sLT5jb2xuYW1lKSA9PSAwKQorCQkJ eworCQkJCXBlcmlvZC0+ZW5kYXR0bnVtID0gaTsKKworCQkJCXR5cGVuYW1lVHlwZUlkQW5kTW9k KE5VTEwsIGNvbC0+dHlwZU5hbWUsICZlbmRjb2x0eXBpZCwKKwkJCQkJCQkJCSAmYXR0dHlwbW9k KTsKKworCQkJCWFjbHJlc3VsdCA9IG9iamVjdF9hY2xjaGVjayhUeXBlUmVsYXRpb25JZCwgZW5k Y29sdHlwaWQsCisJCQkJCQkJCQkJCUdldFVzZXJJZCgpLCBBQ0xfVVNBR0UpOworCQkJCWlmIChh Y2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCQkJCWFjbGNoZWNrX2Vycm9yX3R5cGUoYWNscmVz dWx0LCBlbmRjb2x0eXBpZCk7CisKKwkJCQllbmRjb2xjb2xsYXRpb24gPSBHZXRDb2x1bW5EZWZD b2xsYXRpb24oTlVMTCwgY29sLCBlbmRjb2x0eXBpZCk7CisJCQl9CisKKwkJCWkrKzsKKwkJfQor CisJCS8qIERpZCB3ZSBmaW5kIHRoZSBjb2x1bW5zPyAqLworCQlpZiAocGVyaW9kLT5zdGFydGF0 dG51bSA9PSBJbnZhbGlkQXR0ck51bWJlcikKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJj b2RlKEVSUkNPREVfVU5ERUZJTkVEX0NPTFVNTiksCisJCQkJCSBlcnJtc2coImNvbHVtbiBcIiVz XCIgb2YgcmVsYXRpb24gXCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKKwkJCQkJCQlwZXJpb2QtPnN0 YXJ0Y29sbmFtZSwgcmVsbmFtZSkpKTsKKwkJaWYgKHBlcmlvZC0+ZW5kYXR0bnVtID09IEludmFs aWRBdHRyTnVtYmVyKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9V TkRFRklORURfQ09MVU1OKSwKKwkJCQkJIGVycm1zZygiY29sdW1uIFwiJXNcIiBvZiByZWxhdGlv biBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJCXBlcmlvZC0+ZW5kY29sbmFtZSwgcmVs bmFtZSkpKTsKKworCQkvKiBCb3RoIGNvbHVtbnMgbXVzdCBiZSBvZiBzYW1lIHR5cGUgKi8KKwkJ aWYgKHN0YXJ0Y29sdHlwaWQgIT0gZW5kY29sdHlwaWQpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJ CQkoZXJyY29kZShFUlJDT0RFX0RBVEFUWVBFX01JU01BVENIKSwKKwkJCQkJIGVycm1zZygic3Rh cnQgYW5kIGVuZCBjb2x1bW5zIG9mIHBlcmlvZCBtdXN0IGJlIG9mIHNhbWUgdHlwZSIpKSk7CisK KwkJLyogQm90aCBjb2x1bW5zIG11c3QgaGF2ZSB0aGUgc2FtZSBjb2xsYXRpb24gKi8KKwkJaWYg KHN0YXJ0Y29sY29sbGF0aW9uICE9IGVuZGNvbGNvbGxhdGlvbikKKwkJCWVyZXBvcnQoRVJST1Is CisJCQkJCShlcnJjb2RlKEVSUkNPREVfQ09MTEFUSU9OX01JU01BVENIKSwKKwkJCQkJIGVycm1z Zygic3RhcnQgYW5kIGVuZCBjb2x1bW5zIG9mIHBlcmlvZCBtdXN0IGhhdmUgc2FtZSBjb2xsYXRp b24iKSkpOworCisJCXBlcmlvZC0+Y29sdHlwaWQgPSBzdGFydGNvbHR5cGlkOworCQlwZXJpb2Qt PnJuZ3R5cGlkID0gY2hvb3NlX3JhbmdldHlwZV9mb3JfcGVyaW9kKHBlcmlvZCk7CisJfQorCisJ cmV0dXJuIHBlcmlvZHM7Cit9CisKIC8qCiAgKiBNZXJnZUNoZWNrQ29uc3RyYWludAogICoJCVRy eSB0byBtZXJnZSBhbiBpbmhlcml0ZWQgQ0hFQ0sgY29uc3RyYWludCB3aXRoIHByZXZpb3VzIG9u ZXMKQEAgLTQ1NDcsMTIgKzUxNzEsMTIgQEAgQWx0ZXJUYWJsZShBbHRlclRhYmxlU3RtdCAqc3Rt dCwgTE9DS01PREUgbG9ja21vZGUsCiAgKiBleGlzdGluZyBxdWVyeSBwbGFucy4gIE9uIHRoZSBh c3N1bXB0aW9uIGl0J3Mgbm90IHVzZWQgZm9yIHN1Y2gsIHdlCiAgKiBkb24ndCBoYXZlIHRvIHJl amVjdCBwZW5kaW5nIEFGVEVSIHRyaWdnZXJzLCBlaXRoZXIuCiAgKgotICogQWxzbywgc2luY2Ug d2UgZG9uJ3QgaGF2ZSBhbiBBbHRlclRhYmxlVXRpbGl0eUNvbnRleHQsIHRoaXMgY2Fubm90IGJl CisgKiBBbHNvLCBpZiB5b3UgZG9uJ3QgcGFzcyBhbiBBbHRlclRhYmxlVXRpbGl0eUNvbnRleHQs IHRoaXMgY2Fubm90IGJlCiAgKiB1c2VkIGZvciBhbnkgc3ViY29tbWFuZCB0eXBlcyB0aGF0IHJl cXVpcmUgcGFyc2UgdHJhbnNmb3JtYXRpb24gb3IKICAqIGNvdWxkIGdlbmVyYXRlIHN1YmNvbW1h bmRzIHRoYXQgaGF2ZSB0byBiZSBwYXNzZWQgdG8gUHJvY2Vzc1V0aWxpdHkuCiAgKi8KIHZvaWQK LUFsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQsIExpc3QgKmNtZHMsIGJvb2wgcmVjdXJzZSkK K0FsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQsIExpc3QgKmNtZHMsIGJvb2wgcmVjdXJzZSwg QWx0ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KQogewogCVJlbGF0aW9uCXJlbDsKIAlM T0NLTU9ERQlsb2NrbW9kZSA9IEFsdGVyVGFibGVHZXRMb2NrTGV2ZWwoY21kcyk7CkBAIC00NTYx LDcgKzUxODUsNyBAQCBBbHRlclRhYmxlSW50ZXJuYWwoT2lkIHJlbGlkLCBMaXN0ICpjbWRzLCBi b29sIHJlY3Vyc2UpCiAKIAlFdmVudFRyaWdnZXJBbHRlclRhYmxlUmVsaWQocmVsaWQpOwogCi0J QVRDb250cm9sbGVyKE5VTEwsIHJlbCwgY21kcywgcmVjdXJzZSwgbG9ja21vZGUsIE5VTEwpOwor CUFUQ29udHJvbGxlcihOVUxMLCByZWwsIGNtZHMsIHJlY3Vyc2UsIGxvY2ttb2RlLCBjb250ZXh0 KTsKIH0KIAogLyoKQEAgLTQ2NTQsNiArNTI3OCw5IEBAIEFsdGVyVGFibGVHZXRMb2NrTGV2ZWwo TGlzdCAqY21kcykKIAkJCWNhc2UgQVRfRW5hYmxlUmVwbGljYVJ1bGU6CS8qIG1heSBjaGFuZ2Ug U0VMRUNUIHJ1bGVzICovCiAJCQljYXNlIEFUX0VuYWJsZVJ1bGU6IC8qIG1heSBjaGFuZ2UgU0VM RUNUIHJ1bGVzICovCiAJCQljYXNlIEFUX0Rpc2FibGVSdWxlOgkvKiBtYXkgY2hhbmdlIFNFTEVD VCBydWxlcyAqLworCQkJY2FzZSBBVF9BZGRQZXJpb2Q6CS8qIHNoYXJlcyBuYW1lc3BhY2Ugd2l0 aCBjb2x1bW5zLCBhZGRzCisJCQkJCQkJCSAqIGNvbnN0cmFpbnQgKi8KKwkJCWNhc2UgQVRfRHJv cFBlcmlvZDoKIAkJCQljbWRfbG9ja21vZGUgPSBBY2Nlc3NFeGNsdXNpdmVMb2NrOwogCQkJCWJy ZWFrOwogCkBAIC00OTczLDYgKzU2MDAsMTcgQEAgQVRQcmVwQ21kKExpc3QgKip3cXVldWUsIFJl bGF0aW9uIHJlbCwgQWx0ZXJUYWJsZUNtZCAqY21kLAogCQkJLyogVGhpcyBjb21tYW5kIG5ldmVy IHJlY3Vyc2VzICovCiAJCQlwYXNzID0gQVRfUEFTU19BRERfT1RIRVJDT05TVFI7CiAJCQlicmVh azsKKwkJY2FzZSBBVF9BZGRQZXJpb2Q6CQkvKiBBTFRFUiBUQUJMRSAuLi4gQUREIFBFUklPRCBG T1IgbmFtZSAoc3RhcnQsCisJCQkJCQkJCSAqIGVuZCkgKi8KKwkJCUFUU2ltcGxlUGVybWlzc2lv bnMoY21kLT5zdWJ0eXBlLCByZWwsIEFUVF9UQUJMRSk7CisJCQlBVFByZXBBZGRQZXJpb2Qod3F1 ZXVlLCByZWwsIGNtZCwgbG9ja21vZGUsIGNvbnRleHQpOworCQkJLyogTm8gcmVjdXJzaW9uOiBp bmhlcml0YW5jZSBub3Qgc3VwcG9ydGVkIHdpdGggUEVSSU9EcyAqLworCQkJcGFzcyA9IEFUX1BB U1NfQUREX1BFUklPRDsKKwkJCWJyZWFrOworCQljYXNlIEFUX0Ryb3BQZXJpb2Q6CQkvKiBBTFRF UiBUQUJMRSAuLi4gRFJPUCBQRVJJT0QgRk9SIG5hbWUgKi8KKwkJCUFUU2ltcGxlUGVybWlzc2lv bnMoY21kLT5zdWJ0eXBlLCByZWwsIEFUVF9UQUJMRSk7CisJCQlwYXNzID0gQVRfUEFTU19EUk9Q OworCQkJYnJlYWs7CiAJCWNhc2UgQVRfQWRkSWRlbnRpdHk6CiAJCQlBVFNpbXBsZVBlcm1pc3Np b25zKGNtZC0+c3VidHlwZSwgcmVsLAogCQkJCQkJCQlBVFRfVEFCTEUgfCBBVFRfUEFSVElUSU9O RURfVEFCTEUgfCBBVFRfVklFVyB8CkBAIC01Mzg2LDYgKzYwMjQsMTQgQEAgQVRFeGVjQ21kKExp c3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwKIAkJY2FzZSBBVF9Db29rZWRDb2x1 bW5EZWZhdWx0OgkvKiBhZGQgYSBwcmUtY29va2VkIGRlZmF1bHQgKi8KIAkJCWFkZHJlc3MgPSBB VEV4ZWNDb29rZWRDb2x1bW5EZWZhdWx0KHJlbCwgY21kLT5udW0sIGNtZC0+ZGVmKTsKIAkJCWJy ZWFrOworCQljYXNlIEFUX0FkZFBlcmlvZDoKKwkJCWFkZHJlc3MgPSBBVEV4ZWNBZGRQZXJpb2Qo d3F1ZXVlLCB0YWIsIHJlbCwgKFBlcmlvZERlZiAqKSBjbWQtPmRlZiwKKwkJCQkJCQkJCSAgbG9j a21vZGUsIGNvbnRleHQpOworCQkJYnJlYWs7CisJCWNhc2UgQVRfRHJvcFBlcmlvZDoKKwkJCUFU RXhlY0Ryb3BQZXJpb2QocmVsLCBjbWQtPm5hbWUsIGNtZC0+YmVoYXZpb3IsIGZhbHNlLCBmYWxz ZSwKKwkJCQkJCQkgY21kLT5taXNzaW5nX29rKTsKKwkJCWJyZWFrOwogCQljYXNlIEFUX0FkZElk ZW50aXR5OgogCQkJY21kID0gQVRQYXJzZVRyYW5zZm9ybUNtZCh3cXVldWUsIHRhYiwgcmVsLCBj bWQsIGZhbHNlLCBsb2NrbW9kZSwKIAkJCQkJCQkJCSAgY3VyX3Bhc3MsIGNvbnRleHQpOwpAQCAt NjU5Miw2ICs3MjM4LDggQEAgYWx0ZXJfdGFibGVfdHlwZV90b19zdHJpbmcoQWx0ZXJUYWJsZVR5 cGUgY21kdHlwZSkKIAkJY2FzZSBBVF9BZGRDb2x1bW46CiAJCWNhc2UgQVRfQWRkQ29sdW1uVG9W aWV3OgogCQkJcmV0dXJuICJBREQgQ09MVU1OIjsKKwkJY2FzZSBBVF9BZGRQZXJpb2Q6CisJCQly ZXR1cm4gIkFERCBQRVJJT0QiOwogCQljYXNlIEFUX0NvbHVtbkRlZmF1bHQ6CiAJCWNhc2UgQVRf Q29va2VkQ29sdW1uRGVmYXVsdDoKIAkJCXJldHVybiAiQUxURVIgQ09MVU1OIC4uLiBTRVQgREVG QVVMVCI7CkBAIC02NjE1LDYgKzcyNjMsOCBAQCBhbHRlcl90YWJsZV90eXBlX3RvX3N0cmluZyhB bHRlclRhYmxlVHlwZSBjbWR0eXBlKQogCQkJcmV0dXJuICJBTFRFUiBDT0xVTU4gLi4uIFNFVCBD T01QUkVTU0lPTiI7CiAJCWNhc2UgQVRfRHJvcENvbHVtbjoKIAkJCXJldHVybiAiRFJPUCBDT0xV TU4iOworCQljYXNlIEFUX0Ryb3BQZXJpb2Q6CisJCQlyZXR1cm4gIkRST1AgUEVSSU9EIjsKIAkJ Y2FzZSBBVF9BZGRJbmRleDoKIAkJY2FzZSBBVF9SZUFkZEluZGV4OgogCQkJcmV0dXJuIE5VTEw7 CQkvKiBub3QgcmVhbCBncmFtbWFyICovCkBAIC03NjMzLDE0ICs4MjgzLDMwIEBAIEFURXhlY0Fk ZENvbHVtbihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJl bCwKIC8qCiAgKiBJZiBhIG5ldyBvciByZW5hbWVkIGNvbHVtbiB3aWxsIGNvbGxpZGUgd2l0aCB0 aGUgbmFtZSBvZiBhbiBleGlzdGluZwogICogY29sdW1uIGFuZCBpZl9ub3RfZXhpc3RzIGlzIGZh bHNlIHRoZW4gZXJyb3Igb3V0LCBlbHNlIGRvIG5vdGhpbmcuCisgKgorICogU2VlIGFsc28gY2hl Y2tfZm9yX3BlcmlvZF9uYW1lX2NvbGxpc2lvbi4KICAqLwogc3RhdGljIGJvb2wKIGNoZWNrX2Zv cl9jb2x1bW5fbmFtZV9jb2xsaXNpb24oUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpjb2xuYW1l LAogCQkJCQkJCQlib29sIGlmX25vdF9leGlzdHMpCiB7Ci0JSGVhcFR1cGxlCWF0dFR1cGxlOwor CUhlYXBUdXBsZQlhdHRUdXBsZSwKKwkJCQlwZXJUdXBsZTsKIAlpbnQJCQlhdHRudW07CiAKKwkv KiBJZiB0aGUgbmFtZSBleGlzdHMgYXMgYSBwZXJpb2QsIHdlJ3JlIGRvbmUuICovCisJcGVyVHVw bGUgPSBTZWFyY2hTeXNDYWNoZTIoUEVSSU9ETkFNRSwKKwkJCQkJCQkgICBPYmplY3RJZEdldERh dHVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSksCisJCQkJCQkJICAgUG9pbnRlckdldERhdHVtKGNv bG5hbWUpKTsKKwlpZiAoSGVhcFR1cGxlSXNWYWxpZChwZXJUdXBsZSkpCisJeworCQlSZWxlYXNl U3lzQ2FjaGUocGVyVHVwbGUpOworCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNP REVfRFVQTElDQVRFX0NPTFVNTiksCisJCQkJIGVycm1zZygiY29sdW1uIG5hbWUgXCIlc1wiIGNv bmZsaWN0cyB3aXRoIGEgcGVyaW9kIG5hbWUiLAorCQkJCQkJY29sbmFtZSkpKTsKKwl9CisKIAkv KgogCSAqIHRoaXMgdGVzdCBpcyBkZWxpYmVyYXRlbHkgbm90IGF0dGlzZHJvcHBlZC1hd2FyZSwg c2luY2UgaWYgb25lIHRyaWVzIHRvCiAJICogYWRkIGEgY29sdW1uIG1hdGNoaW5nIGEgZHJvcHBl ZCBjb2x1bW4gbmFtZSwgaXQncyBnb25uYSBmYWlsIGFueXdheS4KQEAgLTc2ODQsNiArODM1MCw3 OCBAQCBjaGVja19mb3JfY29sdW1uX25hbWVfY29sbGlzaW9uKFJlbGF0aW9uIHJlbCwgY29uc3Qg Y2hhciAqY29sbmFtZSwKIAlyZXR1cm4gdHJ1ZTsKIH0KIAorLyoKKyAqIElmIGEgbmV3IHBlcmlv ZCBuYW1lIHdpbGwgY29sbGlkZSB3aXRoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNvbHVtbiBv cgorICogcGVyaW9kIFthbmQgaWZfbm90X2V4aXN0cyBpcyBmYWxzZV0gdGhlbiBlcnJvciBvdXQs IGVsc2UgZG8gbm90aGluZy4KKyAqCisgKiBTZWUgYWxzbyBjaGVja19mb3JfY29sdW1uX25hbWVf Y29sbGlzaW9uLgorICovCitzdGF0aWMgYm9vbAorY2hlY2tfZm9yX3BlcmlvZF9uYW1lX2NvbGxp c2lvbihSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBlcm5hbWUsCisJCQkJCQkJCWJvb2wgY29s ZXhpc3RzLCBib29sIGlmX25vdF9leGlzdHMpCit7CisJSGVhcFR1cGxlCWF0dFR1cGxlLAorCQkJ CXBlclR1cGxlOworCWludAkJCWF0dG51bTsKKworCS8qIFhYWDogaW1wbGVtZW50IElGIFtOT1Rd IEVYSVNUUyBmb3IgcGVyaW9kcyAqLworCUFzc2VydCghaWZfbm90X2V4aXN0cyk7CisKKwkvKiBJ ZiB0aGVyZSBpcyBhbHJlYWR5IGEgcGVyaW9kIHdpdGggdGhpcyBuYW1lLCB0aGVuIHdlJ3JlIGRv bmUuICovCisJcGVyVHVwbGUgPSBTZWFyY2hTeXNDYWNoZTIoUEVSSU9ETkFNRSwKKwkJCQkJCQkg ICBPYmplY3RJZEdldERhdHVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSksCisJCQkJCQkJICAgUG9p bnRlckdldERhdHVtKHBlcm5hbWUpKTsKKwlpZiAoSGVhcFR1cGxlSXNWYWxpZChwZXJUdXBsZSkp CisJeworCQlpZiAoaWZfbm90X2V4aXN0cykKKwkJeworCQkJUmVsZWFzZVN5c0NhY2hlKHBlclR1 cGxlKTsKKworCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElD QVRFX0NPTFVNTiksCisJCQkJCSBlcnJtc2coInBlcmlvZCBcIiVzXCIgb2YgcmVsYXRpb24gXCIl c1wiIGFscmVhZHkgZXhpc3RzLCBza2lwcGluZyIsCisJCQkJCQkJcGVybmFtZSwgUmVsYXRpb25H ZXRSZWxhdGlvbk5hbWUocmVsKSkpKTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCisJCWVyZXBv cnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfQ09MVU1OKSwKKwkJCQkg ZXJybXNnKCJwZXJpb2QgXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXNcIiBhbHJlYWR5IGV4aXN0cyIs CisJCQkJCQlwZXJuYW1lLCBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkpOworCX0KKwor CS8qCisJICogdGhpcyB0ZXN0IGlzIGRlbGliZXJhdGVseSBub3QgYXR0aXNkcm9wcGVkLWF3YXJl LCBzaW5jZSBpZiBvbmUgdHJpZXMgdG8KKwkgKiBhZGQgYSBjb2x1bW4gbWF0Y2hpbmcgYSBkcm9w cGVkIGNvbHVtbiBuYW1lLCBpdCdzIGdvbm5hIGZhaWwgYW55d2F5LgorCSAqLworCWF0dFR1cGxl ID0gU2VhcmNoU3lzQ2FjaGUyKEFUVE5BTUUsCisJCQkJCQkJICAgT2JqZWN0SWRHZXREYXR1bShS ZWxhdGlvbkdldFJlbGlkKHJlbCkpLAorCQkJCQkJCSAgIFBvaW50ZXJHZXREYXR1bShwZXJuYW1l KSk7CisJaWYgKEhlYXBUdXBsZUlzVmFsaWQoYXR0VHVwbGUpKQorCXsKKwkJYXR0bnVtID0gKChG b3JtX3BnX2F0dHJpYnV0ZSkgR0VUU1RSVUNUKGF0dFR1cGxlKSktPmF0dG51bTsKKwkJUmVsZWFz ZVN5c0NhY2hlKGF0dFR1cGxlKTsKKworCQkvKgorCQkgKiBXZSB0aHJvdyBhIGRpZmZlcmVudCBl cnJvciBtZXNzYWdlIGZvciBjb25mbGljdHMgd2l0aCBzeXN0ZW0gY29sdW1uCisJCSAqIG5hbWVz LCBzaW5jZSB0aGV5IGFyZSBub3JtYWxseSBub3Qgc2hvd24gYW5kIHRoZSB1c2VyIG1pZ2h0CisJ CSAqIG90aGVyd2lzZSBiZSBjb25mdXNlZCBhYm91dCB0aGUgcmVhc29uIGZvciB0aGUgY29uZmxp Y3QuCisJCSAqLworCQlpZiAoYXR0bnVtIDw9IDApCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQko ZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9DT0xVTU4pLAorCQkJCQkgZXJybXNnKCJwZXJpb2Qg bmFtZSBcIiVzXCIgY29uZmxpY3RzIHdpdGggYSBzeXN0ZW0gY29sdW1uIG5hbWUiLAorCQkJCQkJ CXBlcm5hbWUpKSk7CisJCWlmICghY29sZXhpc3RzKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJ KGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfQ09MVU1OKSwKKwkJCQkJIGVycm1zZygicGVyaW9k IG5hbWUgXCIlc1wiIGNvbmZsaWN0cyB3aXRoIGEgY29sdW1uIG5hbWUiLAorCQkJCQkJCXBlcm5h bWUpKSk7CisJfQorCisJcmV0dXJuIHRydWU7Cit9CisKIC8qCiAgKiBJbnN0YWxsIGEgY29sdW1u J3MgZGVwZW5kZW5jeSBvbiBpdHMgZGF0YXR5cGUuCiAgKi8KQEAgLTgyMjMsNiArODk2MSwyMDkg QEAgQVRFeGVjQ29va2VkQ29sdW1uRGVmYXVsdChSZWxhdGlvbiByZWwsIEF0dHJOdW1iZXIgYXR0 bnVtLAogCXJldHVybiBhZGRyZXNzOwogfQogCisvKgorICogUHJlcGFyZSB0byBhZGQgYSBQRVJJ T0QgdG8gYSB0YWJsZSwgYnkgYWRkaW5nIGFsbCBpdHMgY29uc3RpdHVlbnQgb2JqZWN0cy4KKyAq CisgKiBXZSBuZWVkIGEgQ0hFQ0sgY29uc3RyYWludCBlbmZvcmNpbmcgd2Ugc3RhcnQgYmVmb3Jl IHdlIGVuZC4KKyAqCisgKiBVc3VhbGx5IHdlIGFsc28gY3JlYXRlIGEgR0VORVJBVEVEIGNvbHVt biB3aXRoIGEgTk9UIE5VTEwgY29uc3RyYWludCwKKyAqIHVubGVzcyB0aGUgY29tbWFuZCBpbmRp Y2F0ZXMgd2UgaGF2ZSBvbmUgYWxyZWFkeS4KKyAqCisgKiBQRVJJT0RzIGFyZSBub3Qgc3VwcG9y dGVkIGluIGluaGVyaXRhbmNlIGhpZXJhcmNoaWVzLCBzbyB3ZSBkb24ndCBuZWVkCisgKiB0byB3 b3JyeSBhYm91dCByZWN1cnNpb24uCisgKgorICogQVRFeGVjQWRkUGVyaW9kIHdpbGwgbmVlZCB0 aGUgb2lkIG9mIHRoZSBDSEVDSyBjb25zdHJhaW50IGFuZCB0aGUgYXR0bnVtCisgKiBvZiB0aGUg cmFuZ2UgY29sdW1uICh3aGV0aGVyIG5ldyBvciBub3QpIHRvIHJlY29yZCB0aGUgZGVwZW5kZW5j eS4KKyAqLworc3RhdGljIHZvaWQKK0FUUHJlcEFkZFBlcmlvZChMaXN0ICoqd3F1ZXVlLCBSZWxh dGlvbiByZWwsIEFsdGVyVGFibGVDbWQgKmNtZCwKKwkJCQlMT0NLTU9ERSBsb2NrbW9kZSwgQWx0 ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KQoreworCVBlcmlvZERlZiAgKnBlcmlvZCA9 IChQZXJpb2REZWYgKikgY21kLT5kZWY7CisKKwkvKgorCSAqIFBFUklPRCBGT1IgU1lTVEVNX1RJ TUUgaXMgbm90IHlldCBpbXBsZW1lbnRlZCwgYnV0IG1ha2Ugc3VyZSBubyBvbmUKKwkgKiB1c2Vz IHRoZSBuYW1lLgorCSAqLworCWlmIChzdHJjbXAocGVyaW9kLT5wZXJpb2RuYW1lLCAic3lzdGVt X3RpbWUiKSA9PSAwKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVB VFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJQRVJJT0QgRk9SIFNZU1RFTV9USU1F IGlzIG5vdCBzdXBwb3J0ZWQiKSkpOworCisJaWYgKHN0cmNtcChwZXJpb2QtPnN0YXJ0Y29sbmFt ZSwgcGVyaW9kLT5lbmRjb2xuYW1lKSA9PSAwKQorCQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJj b2x1bW4gXCIlc1wiIGNhbid0IGJlIHRoZSBzdGFydCBhbmQgZW5kIGNvbHVtbiBmb3IgcGVyaW9k IFwiJXNcIiIsCisJCQkJCQkJICAgcGVyaW9kLT5zdGFydGNvbG5hbWUsIHBlcmlvZC0+cGVyaW9k bmFtZSkpKTsKKworCS8qIFBhcnNlIG9wdGlvbnMgKi8KKwl0cmFuc2Zvcm1QZXJpb2RPcHRpb25z KHBlcmlvZCk7Cit9CisKKy8qCisgKiBBTFRFUiBUQUJMRSBBREQgUEVSSU9ECisgKgorICogUmV0 dXJuIHRoZSBhZGRyZXNzIG9mIHRoZSBwZXJpb2QuCisgKi8KK3N0YXRpYyBPYmplY3RBZGRyZXNz CitBVEV4ZWNBZGRQZXJpb2QoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBS ZWxhdGlvbiByZWwsCisJCQkJUGVyaW9kRGVmICpwZXJpb2QsIExPQ0tNT0RFIGxvY2ttb2RlLAor CQkJCUFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCkKK3sKKwlSZWxhdGlvbglhdHRy ZWxhdGlvbjsKKwlPYmplY3RBZGRyZXNzIGFkZHJlc3MgPSBJbnZhbGlkT2JqZWN0QWRkcmVzczsK KwlDb25zdHJhaW50ICpjb25zdHI7CisJQ29sdW1uRGVmICAqcmFuZ2Vjb2w7CisJT2lkCQkJY29u b2lkLAorCQkJCXBlcmlvZG9pZDsKKwlMaXN0CSAgICpjbWRzID0gTklMOworCUFsdGVyVGFibGVD bWQgKmNtZDsKKworCS8qCisJICogVGhlIHBlcmlvZCBuYW1lIG11c3Qgbm90IGFscmVhZHkgZXhp c3QuIFdlIGNhbid0IGNoZWNrIHRoaXMgaW4KKwkgKiBBVFByZXBBZGRQZXJpb2QgYmVjYXVzZSB0 aGUgc2FtZSBBTFRFUiBUQUJMRSBjb21tYW5kIG1pZ2h0IGRvIGEgRFJPUAorCSAqIFBFUklPRCBh cyB3ZWxsLgorCSAqLworCSh2b2lkKSBjaGVja19mb3JfcGVyaW9kX25hbWVfY29sbGlzaW9uKHJl bCwgcGVyaW9kLT5wZXJpb2RuYW1lLAorCQkJCQkJCQkJCSAgIHBlcmlvZC0+Y29sZXhpc3RzLCBm YWxzZSk7CisKKwlhdHRyZWxhdGlvbiA9IHRhYmxlX29wZW4oQXR0cmlidXRlUmVsYXRpb25JZCwg Um93RXhjbHVzaXZlTG9jayk7CisJVmFsaWRhdGVQZXJpb2QocmVsLCBwZXJpb2QpOworCisJLyog TWFrZSB0aGUgQ0hFQ0sgY29uc3RyYWludCAqLworCWNvbnN0ciA9IG1ha2VfY29uc3RyYWludF9m b3JfcGVyaW9kKHJlbCwgcGVyaW9kKTsKKwljbWQgPSBtYWtlTm9kZShBbHRlclRhYmxlQ21kKTsK KwljbWQtPnN1YnR5cGUgPSBBVF9BZGRDb25zdHJhaW50OworCWNtZC0+ZGVmID0gKE5vZGUgKikg Y29uc3RyOworCWNtZHMgPSBsYXBwZW5kKGNtZHMsIGNtZCk7CisJQWx0ZXJUYWJsZUludGVybmFs KFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgY21kcywgdHJ1ZSwgY29udGV4dCk7CisJY29ub2lkID0g Z2V0X3JlbGF0aW9uX2NvbnN0cmFpbnRfb2lkKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwKKwkJCQkJ CQkJCQkgcGVyaW9kLT5jb25zdHJhaW50bmFtZSwgZmFsc2UpOworCisKKwlpZiAoIXBlcmlvZC0+ Y29sZXhpc3RzKQorCXsKKwkJY21kcyA9IE5JTDsKKworCQkvKgorCQkgKiBNYWtlIHRoZSByYW5n ZSBjb2x1bW4uCisJCSAqCisJCSAqIFdlIGhhdmUgYWxyZWFkeSBwYXNzZWQgdGhlIGFkZC1jb2x1 bW4gcGFzcywgc28gd2UgaGF2ZSB0byBjcmVhdGUgaXQKKwkJICogb3Vyc2VsZi4KKwkJICovCisJ CXJhbmdlY29sID0gbWFrZV9yYW5nZV9jb2x1bW5fZm9yX3BlcmlvZChwZXJpb2QpOworCQljbWQg PSBtYWtlTm9kZShBbHRlclRhYmxlQ21kKTsKKwkJY21kLT5zdWJ0eXBlID0gQVRfQWRkQ29sdW1u OworCQljbWQtPmRlZiA9IChOb2RlICopIHJhbmdlY29sOworCQljbWQtPm5hbWUgPSBwZXJpb2Qt PnBlcmlvZG5hbWU7CisJCWNtZC0+cmVjdXJzZSA9IGZhbHNlOwkvKiBObywgbGV0IHRoZSBQRVJJ T0QgcmVjdXJzZSBpbnN0ZWFkLiAqLworCQlBVEV4ZWNBZGRDb2x1bW4od3F1ZXVlLCB0YWIsIHJl bCwgJmNtZCwgZmFsc2UsIGZhbHNlLCBsb2NrbW9kZSwKKwkJCQkJCUFUX1BBU1NfQUREX1BFUklP RCwgY29udGV4dCk7CisKKwkJLyogVGhlIHJhbmdlIGNvbHVtbiBzaG91bGQgYmUgTk9UIE5VTEwu ICovCisJCWNtZCA9IG1ha2VOb2RlKEFsdGVyVGFibGVDbWQpOworCQljbWQtPnN1YnR5cGUgPSBB VF9BZGRDb25zdHJhaW50OworCQljbWQtPmRlZiA9IChOb2RlICopIG1ha2VOb3ROdWxsQ29uc3Ry YWludChtYWtlU3RyaW5nKHBlcmlvZC0+cGVyaW9kbmFtZSkpOworCQljbWQtPnJlY3Vyc2UgPSBm YWxzZTsJLyogTm8sIGxldCB0aGUgUEVSSU9EIHJlY3Vyc2UgaW5zdGVhZC4gKi8KKwkJQVRQcmVw Q21kKHdxdWV1ZSwgcmVsLCBjbWQsIGZhbHNlLCBmYWxzZSwgbG9ja21vZGUsIGNvbnRleHQpOwor CisJCS8qIExvb2sgdXAgdGhlIEdFTkVSQVRFRCBhdHRudW0gKi8KKwkJcGVyaW9kLT5ybmdhdHRu dW0gPSBnZXRfYXR0bnVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgcGVyaW9kLT5wZXJpb2RuYW1l KTsKKwkJaWYgKHBlcmlvZC0+cm5nYXR0bnVtID09IEludmFsaWRBdHRyTnVtYmVyKQorCQkJZWxv ZyhFUlJPUiwgIm1pc3NpbmcgYXR0cmlidXRlICVzIiwgcGVyaW9kLT5wZXJpb2RuYW1lKTsKKwl9 CisKKwkvKiBTYXZlIHRoZSBQZXJpb2QgKi8KKwlwZXJpb2RvaWQgPSBTdG9yZVBlcmlvZChyZWws IHBlcmlvZC0+cGVyaW9kbmFtZSwgcGVyaW9kLT5zdGFydGF0dG51bSwKKwkJCQkJCQlwZXJpb2Qt PmVuZGF0dG51bSwgcGVyaW9kLT5ybmdhdHRudW0sIGNvbm9pZCk7CisKKwlPYmplY3RBZGRyZXNz U2V0KGFkZHJlc3MsIFBlcmlvZFJlbGF0aW9uSWQsIHBlcmlvZG9pZCk7CisKKwl0YWJsZV9jbG9z ZShhdHRyZWxhdGlvbiwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlyZXR1cm4gYWRkcmVzczsKK30K KworLyoKKyAqIEFMVEVSIFRBQkxFIERST1AgUEVSSU9ECisgKgorICogTGlrZSBEUk9QIENPTFVN Tiwgd2UgY2FuJ3QgdXNlIHRoZSBub3JtYWwgQUxURVIgVEFCTEUgcmVjdXJzaW9uIG1lY2hhbmlz bS4KKyAqLworc3RhdGljIHZvaWQKK0FURXhlY0Ryb3BQZXJpb2QoUmVsYXRpb24gcmVsLCBjb25z dCBjaGFyICpwZXJpb2ROYW1lLAorCQkJCSBEcm9wQmVoYXZpb3IgYmVoYXZpb3IsCisJCQkJIGJv b2wgcmVjdXJzZSwgYm9vbCByZWN1cnNpbmcsCisJCQkJIGJvb2wgbWlzc2luZ19vaykKK3sKKwlS ZWxhdGlvbglwZ19wZXJpb2Q7CisJRm9ybV9wZ19wZXJpb2QgcGVyaW9kOworCVN5c1NjYW5EZXNj IHNjYW47CisJU2NhbktleURhdGEga2V5OworCUhlYXBUdXBsZQl0dXBsZTsKKwlib29sCQlmb3Vu ZCA9IGZhbHNlOworCisJLyogQXQgdG9wIGxldmVsLCBwZXJtaXNzaW9uIGNoZWNrIHdhcyBkb25l IGluIEFUUHJlcENtZCwgZWxzZSBkbyBpdCAqLworCWlmIChyZWN1cnNpbmcpCisJCUFUU2ltcGxl UGVybWlzc2lvbnMoQVRfRHJvcFBlcmlvZCwgcmVsLCBBVFRfVEFCTEUpOworCisJcGdfcGVyaW9k ID0gdGFibGVfb3BlbihQZXJpb2RSZWxhdGlvbklkLCBSb3dFeGNsdXNpdmVMb2NrKTsKKworCS8q CisJICogRmluZCBhbmQgZHJvcCB0aGUgdGFyZ2V0IHBlcmlvZAorCSAqLworCVNjYW5LZXlJbml0 KCZrZXksCisJCQkJQW51bV9wZ19wZXJpb2RfcGVycmVsaWQsCisJCQkJQlRFcXVhbFN0cmF0ZWd5 TnVtYmVyLCBGX09JREVRLAorCQkJCU9iamVjdElkR2V0RGF0dW0oUmVsYXRpb25HZXRSZWxpZChy ZWwpKSk7CisJc2NhbiA9IHN5c3RhYmxlX2JlZ2luc2NhbihwZ19wZXJpb2QsIFBlcmlvZFJlbGlk TmFtZUluZGV4SWQsCisJCQkJCQkJICB0cnVlLCBOVUxMLCAxLCAma2V5KTsKKworCXdoaWxlIChI ZWFwVHVwbGVJc1ZhbGlkKHR1cGxlID0gc3lzdGFibGVfZ2V0bmV4dChzY2FuKSkpCisJeworCQlP YmplY3RBZGRyZXNzIHBlcm9iajsKKworCQlwZXJpb2QgPSAoRm9ybV9wZ19wZXJpb2QpIEdFVFNU UlVDVCh0dXBsZSk7CisKKwkJaWYgKHN0cmNtcChOYW1lU3RyKHBlcmlvZC0+cGVybmFtZSksIHBl cmlvZE5hbWUpICE9IDApCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBQZXJmb3JtIHRoZSBh Y3R1YWwgcGVyaW9kIGRlbGV0aW9uCisJCSAqLworCQlwZXJvYmouY2xhc3NJZCA9IFBlcmlvZFJl bGF0aW9uSWQ7CisJCXBlcm9iai5vYmplY3RJZCA9IHBlcmlvZC0+b2lkOworCQlwZXJvYmoub2Jq ZWN0U3ViSWQgPSAwOworCisJCXBlcmZvcm1EZWxldGlvbigmcGVyb2JqLCBiZWhhdmlvciwgMCk7 CisKKwkJZm91bmQgPSB0cnVlOworCisJCS8qIHBlcmlvZCBmb3VuZCBhbmQgZHJvcHBlZCAtLSBu byBuZWVkIHRvIGtlZXAgbG9vcGluZyAqLworCQlicmVhazsKKwl9CisKKwlzeXN0YWJsZV9lbmRz Y2FuKHNjYW4pOworCisJaWYgKCFmb3VuZCkKKwl7CisJCWlmICghbWlzc2luZ19vaykKKwkJewor CQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfT0JKRUNU KSwKKwkJCQkJIGVycm1zZygicGVyaW9kIFwiJXNcIiBvbiByZWxhdGlvbiBcIiVzXCIgZG9lcyBu b3QgZXhpc3QiLAorCQkJCQkJCXBlcmlvZE5hbWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJl bCkpKSk7CisJCX0KKwkJZWxzZQorCQl7CisJCQllcmVwb3J0KE5PVElDRSwKKwkJCQkJKGVycm1z ZygicGVyaW9kIFwiJXNcIiBvbiByZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgZXhpc3QsIHNraXBw aW5nIiwKKwkJCQkJCQlwZXJpb2ROYW1lLCBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkp OworCQkJdGFibGVfY2xvc2UocGdfcGVyaW9kLCBSb3dFeGNsdXNpdmVMb2NrKTsKKwkJCXJldHVy bjsKKwkJfQorCX0KKworCXRhYmxlX2Nsb3NlKHBnX3BlcmlvZCwgUm93RXhjbHVzaXZlTG9jayk7 Cit9CisKIC8qCiAgKiBBTFRFUiBUQUJMRSBBTFRFUiBDT0xVTU4gQUREIElERU5USVRZCiAgKgpA QCAtMTAyMTAsOCArMTExNTEsOSBAQCBBVEFkZEZvcmVpZ25LZXlDb25zdHJhaW50KExpc3QgKip3 cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRpb24gcmVsLAogCWZvciAoaSA9IDA7 IGkgPCBudW1ma3M7IGkrKykKIAl7CiAJCWNoYXIJCWF0dGdlbmVyYXRlZCA9IFR1cGxlRGVzY0F0 dHIoUmVsYXRpb25HZXREZXNjcihyZWwpLCBma2F0dG51bVtpXSAtIDEpLT5hdHRnZW5lcmF0ZWQ7 CisJCUJpdG1hcHNldCAgKnBlcmlvZHMgPSBnZXRfcGVyaW9kX2F0dG5vcyhSZWxhdGlvbkdldFJl bGlkKHJlbCkpOwogCi0JCWlmIChhdHRnZW5lcmF0ZWQpCisJCWlmIChhdHRnZW5lcmF0ZWQgJiYg IWJtc19pc19tZW1iZXIoZmthdHRudW1baV0sIHBlcmlvZHMpKQogCQl7CiAJCQkvKgogCQkJICog Q2hlY2sgcmVzdHJpY3Rpb25zIG9uIFVQREFURS9ERUxFVEUgYWN0aW9ucywgcGVyIFNRTCBzdGFu ZGFyZApAQCAtMTUxMDgsNiArMTYwNTAsMTYgQEAgUmVtZW1iZXJBbGxEZXBlbmRlbnRGb3JSZWJ1 aWxkaW5nKEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgQWx0ZXJUYWJsZVR5cGUgc3VidHlwZSwKIAkJ CQlSZW1lbWJlckNvbnN0cmFpbnRGb3JSZWJ1aWxkaW5nKGZvdW5kT2JqZWN0Lm9iamVjdElkLCB0 YWIpOwogCQkJCWJyZWFrOwogCisJCQljYXNlIFBlcmlvZFJlbGF0aW9uSWQ6CisJCQkJaWYgKHN1 YnR5cGUgPT0gQVRfQWx0ZXJDb2x1bW5UeXBlKQorCQkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJ CShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkJCQkgZXJybXNn KCJjYW5ub3QgYWx0ZXIgdHlwZSBvZiBhIGNvbHVtbiB1c2VkIGJ5IGEgcGVyaW9kIiksCisJCQkJ CQkJIGVycmRldGFpbCgiJXMgZGVwZW5kcyBvbiBjb2x1bW4gXCIlc1wiIiwKKwkJCQkJCQkJCSAg IGdldE9iamVjdERlc2NyaXB0aW9uKCZmb3VuZE9iamVjdCwgZmFsc2UpLAorCQkJCQkJCQkJICAg Y29sTmFtZSkpKTsKKwkJCQlicmVhazsKKwogCQkJY2FzZSBQcm9jZWR1cmVSZWxhdGlvbklkOgog CiAJCQkJLyoKQEAgLTE1MTk3LDYgKzE2MTQ5LDE2IEBAIFJlbWVtYmVyQWxsRGVwZW5kZW50Rm9y UmVidWlsZGluZyhBbHRlcmVkVGFibGVJbmZvICp0YWIsIEFsdGVyVGFibGVUeXBlIHN1YnR5cGUs CiAJCQkJCX0KIAkJCQkJZWxzZQogCQkJCQl7CisJCQkJCQkvKgorCQkJCQkJICogSWYgdGhpcyBH RU5FUkFURUQgY29sdW1uIGlzIGltcGxlbWVudGluZyBhIFBFUklPRCwKKwkJCQkJCSAqIGtlZXAg Z29pbmcgYW5kIHdlJ2xsIGZhaWwgZnJvbSB0aGUgUEVSSU9EIGluc3RlYWQuCisJCQkJCQkgKiBU aGlzIGdpdmVzIGEgbW9yZSBjbGVhciBlcnJvciBtZXNzYWdlLgorCQkJCQkJICovCisJCQkJCQlC aXRtYXBzZXQgICpwZXJpb2RhdHRzID0gZ2V0X3BlcmlvZF9hdHRub3MoUmVsYXRpb25HZXRSZWxp ZChyZWwpKTsKKworCQkJCQkJaWYgKGJtc19pc19tZW1iZXIoY29sLm9iamVjdFN1YklkLCBwZXJp b2RhdHRzKSkKKwkJCQkJCQlicmVhazsKKwogCQkJCQkJLyoKIAkJCQkJCSAqIFRoaXMgbXVzdCBi ZSBhIHJlZmVyZW5jZSBmcm9tIHRoZSBleHByZXNzaW9uIG9mIGEKIAkJCQkJCSAqIGdlbmVyYXRl ZCBjb2x1bW4gZWxzZXdoZXJlIGluIHRoZSBzYW1lIHRhYmxlLgpAQCAtMTcxMzMsNyArMTgwOTUs NyBAQCBBbHRlclRhYmxlTW92ZUFsbChBbHRlclRhYmxlTW92ZUFsbFN0bXQgKnN0bXQpCiAKIAkJ RXZlbnRUcmlnZ2VyQWx0ZXJUYWJsZVN0YXJ0KChOb2RlICopIHN0bXQpOwogCQkvKiBPSUQgaXMg c2V0IGJ5IEFsdGVyVGFibGVJbnRlcm5hbCAqLwotCQlBbHRlclRhYmxlSW50ZXJuYWwobGZpcnN0 X29pZChsKSwgY21kcywgZmFsc2UpOworCQlBbHRlclRhYmxlSW50ZXJuYWwobGZpcnN0X29pZChs KSwgY21kcywgZmFsc2UsIE5VTEwpOwogCQlFdmVudFRyaWdnZXJBbHRlclRhYmxlRW5kKCk7CiAJ fQogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKaW5kZXggNDNiOWQ4MmU2M2EuLjk2OGE5MWZkMzRiIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKKysrIGIvc3JjL2JhY2tl bmQvY29tbWFuZHMvdHJpZ2dlci5jCkBAIC02MTQzLDYgKzYxNDMsOCBAQCBDb3B5Rm9yUG9ydGlv bk9mU3RhdGUoRm9yUG9ydGlvbk9mU3RhdGUgKnNyYykKIAkJZHN0LT5mcF9yYW5nZU5hbWUgPSBw c3RyZHVwKHNyYy0+ZnBfcmFuZ2VOYW1lKTsKIAkJZHN0LT5mcF9yYW5nZVR5cGUgPSBzcmMtPmZw X3JhbmdlVHlwZTsKIAkJZHN0LT5mcF9yYW5nZUF0dG5vID0gc3JjLT5mcF9yYW5nZUF0dG5vOwor CQlkc3QtPmZwX3BlcmlvZFN0YXJ0QXR0bm8gPSBzcmMtPmZwX3BlcmlvZFN0YXJ0QXR0bm87CisJ CWRzdC0+ZnBfcGVyaW9kRW5kQXR0bm8gPSBzcmMtPmZwX3BlcmlvZEVuZEF0dG5vOwogCiAJCXIg PSBEYXR1bUdldFJhbmdlVHlwZVAoc3JjLT5mcF90YXJnZXRSYW5nZSk7CiAJCXR5cGNhY2hlID0g bG9va3VwX3R5cGVfY2FjaGUoUmFuZ2VUeXBlR2V0T2lkKHIpLCBUWVBFQ0FDSEVfUkFOR0VfSU5G Tyk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92aWV3LmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy92aWV3LmMKaW5kZXggNmYwMzAxNTU1ZTAuLmM3Mjc2ODM2MjIwIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92aWV3LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFu ZHMvdmlldy5jCkBAIC0xNjMsNyArMTYzLDcgQEAgRGVmaW5lVmlydHVhbFJlbGF0aW9uKFJhbmdl VmFyICpyZWxhdGlvbiwgTGlzdCAqdGxpc3QsIGJvb2wgcmVwbGFjZSwKIAkJCX0KIAogCQkJLyog RXZlbnRUcmlnZ2VyQWx0ZXJUYWJsZVN0YXJ0IGNhbGxlZCBieSBQcm9jZXNzVXRpbGl0eVNsb3cg Ki8KLQkJCUFsdGVyVGFibGVJbnRlcm5hbCh2aWV3T2lkLCBhdGNtZHMsIHRydWUpOworCQkJQWx0 ZXJUYWJsZUludGVybmFsKHZpZXdPaWQsIGF0Y21kcywgdHJ1ZSwgTlVMTCk7CiAKIAkJCS8qIE1h a2UgdGhlIG5ldyB2aWV3IGNvbHVtbnMgdmlzaWJsZSAqLwogCQkJQ29tbWFuZENvdW50ZXJJbmNy ZW1lbnQoKTsKQEAgLTE5NSw3ICsxOTUsNyBAQCBEZWZpbmVWaXJ0dWFsUmVsYXRpb24oUmFuZ2VW YXIgKnJlbGF0aW9uLCBMaXN0ICp0bGlzdCwgYm9vbCByZXBsYWNlLAogCQlhdGNtZHMgPSBsaXN0 X21ha2UxKGF0Y21kKTsKIAogCQkvKiBFdmVudFRyaWdnZXJBbHRlclRhYmxlU3RhcnQgY2FsbGVk IGJ5IFByb2Nlc3NVdGlsaXR5U2xvdyAqLwotCQlBbHRlclRhYmxlSW50ZXJuYWwodmlld09pZCwg YXRjbWRzLCB0cnVlKTsKKwkJQWx0ZXJUYWJsZUludGVybmFsKHZpZXdPaWQsIGF0Y21kcywgdHJ1 ZSwgTlVMTCk7CiAKIAkJLyoKIAkJICogVGhlcmUgaXMgdmVyeSBsaXR0bGUgdG8gZG8gaGVyZSB0 byB1cGRhdGUgdGhlIHZpZXcncyBkZXBlbmRlbmNpZXMuCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVN b2RpZnlUYWJsZS5jCmluZGV4IDM1MDcxNDM1M2M5Li42MTc0M2E1ZGE4OCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMKKysrIGIvc3JjL2JhY2tlbmQv ZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMKQEAgLTEzOTAsNiArMTM5MCw3IEBAIEV4ZWNGb3JQ b3J0aW9uT2ZMZWZ0b3ZlcnMoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAogCVRyYW5zaXRp b25DYXB0dXJlU3RhdGUgKm9sZFRjczsKIAlGbWdySW5mbwlmbGluZm87CiAJUmV0dXJuU2V0SW5m byByc2k7CisJYm9vbAkJaGFzUGVyaW9kID0gZmFsc2U7CiAJYm9vbAkJZGlkSW5pdCA9IGZhbHNl OwogCWJvb2wJCXNob3VsZEZyZWUgPSBmYWxzZTsKIApAQCAtMTUwMSw2ICsxNTAyLDggQEAgRXhl Y0ZvclBvcnRpb25PZkxlZnRvdmVycyhNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCiAJCQkJ RXhlY0ZvcmNlU3RvcmVIZWFwVHVwbGUob2xkdHVwbGUsIGxlZnRvdmVyU2xvdCwgZmFsc2UpOwog CQkJfQogCisJCQloYXNQZXJpb2QgPSBmb3JQb3J0aW9uT2YtPnN0YXJ0VmFyOworCiAJCQkvKgog CQkJICogU2F2ZSBzb21lIG10c3RhdGUgdGhpbmdzIHNvIHdlIGNhbiByZXN0b3JlIHRoZW0gYmVs b3cuIFhYWDoKIAkJCSAqIFNob3VsZCB3ZSBjcmVhdGUgb3VyIG93biBNb2RpZnlUYWJsZVN0YXRl IGluc3RlYWQ/CkBAIC0xNTEyLDggKzE1MTUsNDIgQEAgRXhlY0ZvclBvcnRpb25PZkxlZnRvdmVy cyhNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCiAJCQlkaWRJbml0ID0gdHJ1ZTsKIAkJfQog Ci0JCWxlZnRvdmVyU2xvdC0+dHRzX3ZhbHVlc1tmb3JQb3J0aW9uT2YtPnJhbmdlVmFyLT52YXJh dHRubyAtIDFdID0gbGVmdG92ZXI7Ci0JCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtmb3JQb3J0 aW9uT2YtPnJhbmdlVmFyLT52YXJhdHRubyAtIDFdID0gZmFsc2U7CisJCWlmIChoYXNQZXJpb2Qp CisJCXsKKwkJCVJhbmdlVHlwZSAgKmxlZnRvdmVyUmFuZ2U7CisJCQlSYW5nZUJvdW5kCWxlZnRv dmVyTG93ZXI7CisJCQlSYW5nZUJvdW5kCWxlZnRvdmVyVXBwZXI7CisJCQlib29sCQlsZWZ0b3Zl ckVtcHR5OworCQkJQXR0ck51bWJlcglzdGFydEF0dG5vOworCQkJQXR0ck51bWJlcgllbmRBdHRu bzsKKworCQkJbGVmdG92ZXJSYW5nZSA9IERhdHVtR2V0UmFuZ2VUeXBlUChsZWZ0b3Zlcik7CisJ CQlyYW5nZV9kZXNlcmlhbGl6ZSh0eXBjYWNoZSwgbGVmdG92ZXJSYW5nZSwgJmxlZnRvdmVyTG93 ZXIsICZsZWZ0b3ZlclVwcGVyLCAmbGVmdG92ZXJFbXB0eSk7CisKKwkJCXN0YXJ0QXR0bm8gPSBm b3JQb3J0aW9uT2YtPnN0YXJ0VmFyLT52YXJhdHRubzsKKwkJCWVuZEF0dG5vID0gZm9yUG9ydGlv bk9mLT5lbmRWYXItPnZhcmF0dG5vOworCisJCQlpZiAobGVmdG92ZXJMb3dlci5pbmZpbml0ZSkK KwkJCQlsZWZ0b3ZlclNsb3QtPnR0c19pc251bGxbc3RhcnRBdHRubyAtIDFdID0gdHJ1ZTsKKwkJ CWVsc2UKKwkJCXsKKwkJCQlsZWZ0b3ZlclNsb3QtPnR0c19pc251bGxbc3RhcnRBdHRubyAtIDFd ID0gZmFsc2U7CisJCQkJbGVmdG92ZXJTbG90LT50dHNfdmFsdWVzW3N0YXJ0QXR0bm8gLSAxXSA9 IGxlZnRvdmVyTG93ZXIudmFsOworCQkJfQorCisJCQlpZiAobGVmdG92ZXJVcHBlci5pbmZpbml0 ZSkKKwkJCQlsZWZ0b3ZlclNsb3QtPnR0c19pc251bGxbZW5kQXR0bm8gLSAxXSA9IHRydWU7CisJ CQllbHNlCisJCQl7CisJCQkJbGVmdG92ZXJTbG90LT50dHNfaXNudWxsW2VuZEF0dG5vIC0gMV0g PSBmYWxzZTsKKwkJCQlsZWZ0b3ZlclNsb3QtPnR0c192YWx1ZXNbZW5kQXR0bm8gLSAxXSA9IGxl ZnRvdmVyVXBwZXIudmFsOworCQkJfQorCQl9CisJCWVsc2UKKwkJeworCQkJbGVmdG92ZXJTbG90 LT50dHNfdmFsdWVzW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBsZWZ0 b3ZlcjsKKwkJCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtmb3JQb3J0aW9uT2YtPnJhbmdlVmFy LT52YXJhdHRubyAtIDFdID0gZmFsc2U7CisJCX0KIAkJRXhlY01hdGVyaWFsaXplU2xvdChsZWZ0 b3ZlclNsb3QpOwogCiAJCS8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVu Y3MuYyBiL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCmluZGV4IGU0MGU4ZWVjZjczLi44 ZDJjN2RiNGIyNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKKysr IGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKQEAgLTE3MjksNiArMTcyOSw5IEBAIGV4 cHJMb2NhdGlvbihjb25zdCBOb2RlICpleHByKQogCQljYXNlIFRfQ29uc3RyYWludDoKIAkJCWxv YyA9ICgoY29uc3QgQ29uc3RyYWludCAqKSBleHByKS0+bG9jYXRpb247CiAJCQlicmVhazsKKwkJ Y2FzZSBUX1BlcmlvZERlZjoKKwkJCWxvYyA9ICgoY29uc3QgUGVyaW9kRGVmICopIGV4cHIpLT5s b2NhdGlvbjsKKwkJCWJyZWFrOwogCQljYXNlIFRfRnVuY3Rpb25QYXJhbWV0ZXI6CiAJCQlsb2Mg PSAoKGNvbnN0IEZ1bmN0aW9uUGFyYW1ldGVyICopIGV4cHIpLT5sb2NhdGlvbjsKIAkJCWJyZWFr OwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyBiL3NyYy9iYWNrZW5k L3BhcnNlci9hbmFseXplLmMKaW5kZXggMmQyMmE2ZWU1YzAuLjc1MGY1ZjNkMTczIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9hbmFseXplLmMKQEAgLTI0LDEwICsyNCwxMiBAQAogCiAjaW5jbHVkZSAicG9zdGdyZXMuaCIK IAorI2luY2x1ZGUgImFjY2Vzcy9odHVwX2RldGFpbHMuaCIKICNpbmNsdWRlICJhY2Nlc3Mvc3Ry YXRudW0uaCIKICNpbmNsdWRlICJhY2Nlc3Mvc3lzYXR0ci5oIgogI2luY2x1ZGUgImNhdGFsb2cv cGdfYW0uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgiCisjaW5jbHVkZSAiY2F0 YWxvZy9wZ19wZXJpb2QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRl ICJjYXRhbG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJjb21tYW5kcy9kZWZyZW0uaCIKQEAgLTUw LDYgKzUyLDcgQEAKICNpbmNsdWRlICJwYXJzZXIvcGFyc2VfcmVsYXRpb24uaCIKICNpbmNsdWRl ICJwYXJzZXIvcGFyc2VfdGFyZ2V0LmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX3R5cGUuaCIK KyNpbmNsdWRlICJwYXJzZXIvcGFyc2VyLmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNldHJlZS5o IgogI2luY2x1ZGUgInV0aWxzL2JhY2tlbmRfc3RhdHVzLmgiCiAjaW5jbHVkZSAidXRpbHMvYnVp bHRpbnMuaCIKQEAgLTEzMjEsNiArMTMyNCwxMCBAQCB0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1 c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCWNoYXIJICAgKnJhbmdlX3R5cGVfbmFtZXNwYWNlID0g TlVMTDsKIAljaGFyCSAgICpyYW5nZV90eXBlX25hbWUgPSBOVUxMOwogCWludAkJCXJhbmdlX2F0 dG5vID0gSW52YWxpZEF0dHJOdW1iZXI7CisJQXR0ck51bWJlcglzdGFydF9hdHRubyA9IEludmFs aWRBdHRyTnVtYmVyOworCUF0dHJOdW1iZXIJZW5kX2F0dG5vID0gSW52YWxpZEF0dHJOdW1iZXI7 CisJY2hhcgkgICAqc3RhcnRjb2xuYW1lID0gTlVMTDsKKwljaGFyCSAgICplbmRjb2xuYW1lID0g TlVMTDsKIAlGb3JtX3BnX2F0dHJpYnV0ZSBhdHRyOwogCU9pZAkJCW9wY2xhc3M7CiAJT2lkCQkJ b3BmYW1pbHk7CkBAIC0xMzY1LDYgKzEzNzIsNTQgQEAgdHJhbnNmb3JtRm9yUG9ydGlvbk9mQ2xh dXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAlpZiAoIWdldF90eXBuYW1lX2FuZF9uYW1lc3BhY2Uo YXR0ci0+YXR0dHlwaWQsICZyYW5nZV90eXBlX25hbWUsICZyYW5nZV90eXBlX25hbWVzcGFjZSkp CiAJCWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVkIGZvciB0eXBlICV1IiwgYXR0ci0+ YXR0dHlwaWQpOwogCisJLyoKKwkgKiBJZiB3ZSBhcmUgdXNpbmcgYSBQRVJJT0QsIHdlIG5lZWQg dGhlIHN0YXJ0ICYgZW5kIGNvbHVtbnMuIElmIHRoZQorCSAqIGF0dHJpYnV0ZSBpdCBub3QgYSBH RU5FUkFURUQgY29sdW1uLCB3ZSBuZWVkbid0IHF1ZXJ5IHBnX3BlcmlvZC4KKwkgKi8KKwlpZiAo YXR0ci0+YXR0Z2VuZXJhdGVkID09IEFUVFJJQlVURV9HRU5FUkFURURfU1RPUkVEKQorCXsKKwkJ SGVhcFR1cGxlCXBlclR1cGxlID0gU2VhcmNoU3lzQ2FjaGUyKFBFUklPRE5BTUUsCisJCQkJCQkJ CQkJCSAgIE9iamVjdElkR2V0RGF0dW0oUmVsYXRpb25HZXRSZWxpZCh0YXJnZXRyZWwpKSwKKwkJ CQkJCQkJCQkJICAgUG9pbnRlckdldERhdHVtKHJhbmdlX25hbWUpKTsKKworCQlpZiAoSGVhcFR1 cGxlSXNWYWxpZChwZXJUdXBsZSkpCisJCXsKKwkJCUZvcm1fcGdfcGVyaW9kIHBlciA9IChGb3Jt X3BnX3BlcmlvZCkgR0VUU1RSVUNUKHBlclR1cGxlKTsKKwkJCUZvcm1fcGdfYXR0cmlidXRlIHBl cmF0dHI7CisKKwkJCXN0YXJ0X2F0dG5vID0gcGVyLT5wZXJzdGFydDsKKwkJCWVuZF9hdHRubyA9 IHBlci0+cGVyZW5kOworCisJCQlwZXJhdHRyID0gVHVwbGVEZXNjQXR0cih0YXJnZXRyZWwtPnJk X2F0dCwgc3RhcnRfYXR0bm8gLSAxKTsKKwkJCXN0YXJ0Y29sbmFtZSA9IE5hbWVTdHIocGVyYXR0 ci0+YXR0bmFtZSk7CisKKwkJCXJlc3VsdC0+c3RhcnRWYXIgPSBtYWtlVmFyKAorCQkJCQkJCQkJ ICAgcnRpbmRleCwKKwkJCQkJCQkJCSAgIHN0YXJ0X2F0dG5vLAorCQkJCQkJCQkJICAgcGVyYXR0 ci0+YXR0dHlwaWQsCisJCQkJCQkJCQkgICBwZXJhdHRyLT5hdHR0eXBtb2QsCisJCQkJCQkJCQkg ICBwZXJhdHRyLT5hdHRjb2xsYXRpb24sCisJCQkJCQkJCQkgICAwKTsKKworCQkJcGVyYXR0ciA9 IFR1cGxlRGVzY0F0dHIodGFyZ2V0cmVsLT5yZF9hdHQsIGVuZF9hdHRubyAtIDEpOworCQkJZW5k Y29sbmFtZSA9IE5hbWVTdHIocGVyYXR0ci0+YXR0bmFtZSk7CisJCQlyZXN1bHQtPmVuZFZhciA9 IG1ha2VWYXIoCisJCQkJCQkJCQkgcnRpbmRleCwKKwkJCQkJCQkJCSBlbmRfYXR0bm8sCisJCQkJ CQkJCQkgcGVyYXR0ci0+YXR0dHlwaWQsCisJCQkJCQkJCQkgcGVyYXR0ci0+YXR0dHlwbW9kLAor CQkJCQkJCQkJIHBlcmF0dHItPmF0dGNvbGxhdGlvbiwKKwkJCQkJCQkJCSAwKTsKKworCQkJUmVs ZWFzZVN5c0NhY2hlKHBlclR1cGxlKTsKKwkJfQorCX0KKworCWlmIChzdGFydF9hdHRubyA9PSBJ bnZhbGlkQXR0ck51bWJlcikKKwl7CisJCXJlc3VsdC0+c3RhcnRWYXIgPSBOVUxMOworCQlyZXN1 bHQtPmVuZFZhciA9IE5VTEw7CisJfQogCiAJaWYgKGZvclBvcnRpb25PZi0+dGFyZ2V0KQogCkBA IC0xNDM2LDcgKzE0OTEsMTAgQEAgdHJhbnNmb3JtRm9yUG9ydGlvbk9mQ2xhdXNlKFBhcnNlU3Rh dGUgKnBzdGF0ZSwKIAl7CiAJCS8qCiAJCSAqIE5vdyBtYWtlIHN1cmUgd2UgdXBkYXRlIHRoZSBz dGFydC9lbmQgdGltZSBvZiB0aGUgcmVjb3JkLiBGb3IgYQotCQkgKiByYW5nZSBjb2wgKHIpIHRo aXMgaXMgYHIgPSByICogdGFyZ2V0UmFuZ2VgLgorCQkgKiByYW5nZSBjb2wgKHIpIHRoaXMgaXMg YHIgPSByICogdGFyZ2V0UmFuZ2VgLiBGb3IgYSBQRVJJT0Qgd2l0aCBjb2xzCisJCSAqIChzLCBl KSB0aGlzIGlzIGBzID0gbG93ZXIodHNyYW5nZShzLCBlKSAqIHRhcmdldFJhbmdlKWAgYW5kIGBl ID0KKwkJICogdXBwZXIodHNyYW5nZShzLCBlKSAqIHRhcmdldFJhbmdlYCAob2YgY291cnNlIG5v dCBuZWNlc3NhcmlseSB3aXRoCisJCSAqIHRzcmFuZ2UsIGJ1dCB3aXRoIHdoYXRldmVyIHJhbmdl IHR5cGUgaXMgdXNlZCB0aGVyZSkuCiAJCSAqLwogCQlPaWQJCQlpbnRlcnNlY3RvcGVyb2lkOwog CQlMaXN0CSAgICpmdW5jQXJncyA9IE5JTDsKQEAgLTE0NzEsMTQgKzE1MjksNzEgQEAgdHJhbnNm b3JtRm9yUG9ydGlvbk9mQ2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJcmFuZ2VUTEVFeHBy ID0gbWFrZUZ1bmNFeHByKGZ1bmNpZCwgYXR0ci0+YXR0dHlwaWQsIGZ1bmNBcmdzLAogCQkJCQkJ CQkJSW52YWxpZE9pZCwgSW52YWxpZE9pZCwgQ09FUkNFX0VYUExJQ0lUX0NBTEwpOwogCi0JCS8q IE1ha2UgYSBUTEUgdG8gc2V0IHRoZSByYW5nZSBjb2x1bW4gKi8KKwkJLyogTWFrZSBhIFRMRSB0 byBzZXQgdGhlIHJhbmdlIGNvbHVtbiBvciBzdGFydC9lbmQgY29sdW1ucyAqLwogCQlyZXN1bHQt PnJhbmdlVGFyZ2V0TGlzdCA9IE5JTDsKLQkJdGxlID0gbWFrZVRhcmdldEVudHJ5KChFeHByICop IHJhbmdlVExFRXhwciwgcmFuZ2VfYXR0bm8sIHJhbmdlX25hbWUsIGZhbHNlKTsKLQkJcmVzdWx0 LT5yYW5nZVRhcmdldExpc3QgPSBsYXBwZW5kKHJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0LCB0bGUp OwogCi0JCS8qIE1hcmsgdGhlIHJhbmdlIGNvbHVtbiBhcyByZXF1aXJpbmcgdXBkYXRlIHBlcm1p c3Npb25zICovCi0JCXRhcmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMgPSBibXNfYWRkX21lbWJl cih0YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xzLAotCQkJCQkJCQkJCQkJCSAgcmFuZ2VfYXR0 bm8gLSBGaXJzdExvd0ludmFsaWRIZWFwQXR0cmlidXRlTnVtYmVyKTsKKwkJaWYgKHJlc3VsdC0+ c3RhcnRWYXIpCisJCXsKKwkJCUZ1bmNFeHByICAgKmJvdW5kVExFRXhwcjsKKwkJCU9pZAkJCWFy Z190eXBlc1sxXSA9IHtBTllSQU5HRU9JRH07CisJCQlGdW5jRGV0YWlsQ29kZSBmZHJlc3VsdDsK KwkJCU9pZAkJCXJldHR5cGU7CisJCQlib29sCQlyZXRzZXQ7CisJCQlpbnQJCQludmFyZ3M7CisJ CQlPaWQJCQl2YXR5cGU7CisJCQlPaWQJCSAgICpkZWNsYXJlZF9hcmdfdHlwZXM7CisJCQlPaWQJ CQllbGVtdHlwaWQgPSBnZXRfcmFuZ2Vfc3VidHlwZShhdHRyLT5hdHR0eXBpZCk7CisKKwkJCS8q IHNldCB0aGUgc3RhcnQgY29sdW1uICovCisJCQlmZHJlc3VsdCA9IGZ1bmNfZ2V0X2RldGFpbChT eXN0ZW1GdW5jTmFtZSgibG93ZXIiKSwgTklMLCBOSUwsIDEsCisJCQkJCQkJCQkgICBhcmdfdHlw ZXMsCisJCQkJCQkJCQkgICBmYWxzZSwgZmFsc2UsIGZhbHNlLCAmZmdjX2ZsYWdzLAorCQkJCQkJ CQkJICAgJmZ1bmNpZCwgJnJldHR5cGUsICZyZXRzZXQsCisJCQkJCQkJCQkgICAmbnZhcmdzLCAm dmF0eXBlLAorCQkJCQkJCQkJICAgJmRlY2xhcmVkX2FyZ190eXBlcywgTlVMTCk7CisJCQlpZiAo ZmRyZXN1bHQgIT0gRlVOQ0RFVEFJTF9OT1JNQUwpCisJCQkJZWxvZyhFUlJPUiwgImZhaWxlZCB0 byBmaW5kIGxvd2VyKGFueXJhbmdlKSBmdW5jdGlvbiIpOworCQkJYm91bmRUTEVFeHByID0gbWFr ZUZ1bmNFeHByKGZ1bmNpZCwKKwkJCQkJCQkJCQllbGVtdHlwaWQsCisJCQkJCQkJCQkJbGlzdF9t YWtlMShyYW5nZVRMRUV4cHIpLAorCQkJCQkJCQkJCUludmFsaWRPaWQsIEludmFsaWRPaWQsIENP RVJDRV9FWFBMSUNJVF9DQUxMKTsKKwkJCXRsZSA9IG1ha2VUYXJnZXRFbnRyeSgoRXhwciAqKSBi b3VuZFRMRUV4cHIsIHN0YXJ0X2F0dG5vLCBzdGFydGNvbG5hbWUsIGZhbHNlKTsKKwkJCXJlc3Vs dC0+cmFuZ2VUYXJnZXRMaXN0ID0gbGFwcGVuZChyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCwgdGxl KTsKKworCQkJLyogc2V0IHRoZSBlbmQgY29sdW1uICovCisJCQlmZHJlc3VsdCA9IGZ1bmNfZ2V0 X2RldGFpbChTeXN0ZW1GdW5jTmFtZSgidXBwZXIiKSwgTklMLCBOSUwsIDEsCisJCQkJCQkJCQkg ICBhcmdfdHlwZXMsCisJCQkJCQkJCQkgICBmYWxzZSwgZmFsc2UsIGZhbHNlLCAmZmdjX2ZsYWdz LAorCQkJCQkJCQkJICAgJmZ1bmNpZCwgJnJldHR5cGUsICZyZXRzZXQsCisJCQkJCQkJCQkgICAm bnZhcmdzLCAmdmF0eXBlLAorCQkJCQkJCQkJICAgJmRlY2xhcmVkX2FyZ190eXBlcywgTlVMTCk7 CisJCQlpZiAoZmRyZXN1bHQgIT0gRlVOQ0RFVEFJTF9OT1JNQUwpCisJCQkJZWxvZyhFUlJPUiwg ImZhaWxlZCB0byBmaW5kIHVwcGVyKGFueXJhbmdlKSBmdW5jdGlvbiIpOworCQkJYm91bmRUTEVF eHByID0gbWFrZUZ1bmNFeHByKGZ1bmNpZCwKKwkJCQkJCQkJCQllbGVtdHlwaWQsCisJCQkJCQkJ CQkJbGlzdF9tYWtlMShyYW5nZVRMRUV4cHIpLAorCQkJCQkJCQkJCUludmFsaWRPaWQsIEludmFs aWRPaWQsIENPRVJDRV9FWFBMSUNJVF9DQUxMKTsKKwkJCXRsZSA9IG1ha2VUYXJnZXRFbnRyeSgo RXhwciAqKSBib3VuZFRMRUV4cHIsIGVuZF9hdHRubywgZW5kY29sbmFtZSwgZmFsc2UpOworCQkJ cmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBsYXBwZW5kKHJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0 LCB0bGUpOworCisJCQkvKgorCQkJICogTWFyayB0aGUgc3RhcnQvZW5kIGNvbHVtbnMgYXMgcmVx dWlyaW5nIHVwZGF0ZSBwZXJtaXNzaW9ucy4gQXMKKwkJCSAqIHVzdWFsLCB3ZSBkb24ndCBjaGVj ayBwZXJtaXNzaW9ucyBmb3IgdGhlIEdFTkVSQVRFRCBjb2x1bW4uCisJCQkgKi8KKwkJCXRhcmdl dF9wZXJtaW5mby0+dXBkYXRlZENvbHMgPSBibXNfYWRkX21lbWJlcih0YXJnZXRfcGVybWluZm8t PnVwZGF0ZWRDb2xzLAorCQkJCQkJCQkJCQkJCQkgIHN0YXJ0X2F0dG5vIC0gRmlyc3RMb3dJbnZh bGlkSGVhcEF0dHJpYnV0ZU51bWJlcik7CisJCQl0YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xz ID0gYm1zX2FkZF9tZW1iZXIodGFyZ2V0X3Blcm1pbmZvLT51cGRhdGVkQ29scywKKwkJCQkJCQkJ CQkJCQkJICBlbmRfYXR0bm8gLSBGaXJzdExvd0ludmFsaWRIZWFwQXR0cmlidXRlTnVtYmVyKTsK KwkJfQorCQllbHNlCisJCXsKKwkJCXRsZSA9IG1ha2VUYXJnZXRFbnRyeSgoRXhwciAqKSByYW5n ZVRMRUV4cHIsIHJhbmdlX2F0dG5vLCByYW5nZV9uYW1lLCBmYWxzZSk7CisJCQlyZXN1bHQtPnJh bmdlVGFyZ2V0TGlzdCA9IGxhcHBlbmQocmVzdWx0LT5yYW5nZVRhcmdldExpc3QsIHRsZSk7CisK KwkJCS8qIE1hcmsgdGhlIHJhbmdlIGNvbHVtbiBhcyByZXF1aXJpbmcgdXBkYXRlIHBlcm1pc3Np b25zICovCisJCQl0YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xzID0gYm1zX2FkZF9tZW1iZXIo dGFyZ2V0X3Blcm1pbmZvLT51cGRhdGVkQ29scywKKwkJCQkJCQkJCQkJCQkJICByYW5nZV9hdHRu byAtIEZpcnN0TG93SW52YWxpZEhlYXBBdHRyaWJ1dGVOdW1iZXIpOworCQl9CiAJfQogCWVsc2UK IAkJcmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBOSUw7CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCAxYWFiZjgy YWM4OC4uZTIwY2Y3ZTEwNzcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkK KysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueQpAQCAtNTk5LDcgKzU5OSw3IEBAIHN0YXRp YyBOb2RlICptYWtlUmVjdXJzaXZlVmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlh c2VzLCBOb2RlICpxdWVyeSk7CiAldHlwZSA8a2V5d29yZD4gY29sX25hbWVfa2V5d29yZCByZXNl cnZlZF9rZXl3b3JkCiAldHlwZSA8a2V5d29yZD4gYmFyZV9sYWJlbF9rZXl3b3JkCiAKLSV0eXBl IDxub2RlPglEb21haW5Db25zdHJhaW50IFRhYmxlQ29uc3RyYWludCBUYWJsZUxpa2VDbGF1c2UK KyV0eXBlIDxub2RlPglEb21haW5Db25zdHJhaW50IFRhYmxlQ29uc3RyYWludCBUYWJsZUxpa2VD bGF1c2UgVGFibGVQZXJpb2QKICV0eXBlIDxpdmFsPglUYWJsZUxpa2VPcHRpb25MaXN0IFRhYmxl TGlrZU9wdGlvbgogJXR5cGUgPHN0cj4JCWNvbHVtbl9jb21wcmVzc2lvbiBvcHRfY29sdW1uX2Nv bXByZXNzaW9uIGNvbHVtbl9zdG9yYWdlIG9wdF9jb2x1bW5fc3RvcmFnZQogJXR5cGUgPGxpc3Q+ CUNvbFF1YWxMaXN0CkBAIC0yNjkyLDYgKzI2OTIsMjQgQEAgYWx0ZXJfdGFibGVfY21kOgogCQkJ CQluLT5kZWYgPSAoTm9kZSAqKSAkNDsKIAkJCQkJJCQgPSAoTm9kZSAqKSBuOwogCQkJCX0KKwkJ CS8qIEFMVEVSIFRBQkxFIDxuYW1lPiBBREQgUEVSSU9EIEZPUiA8bmFtZT4gKDxuYW1lPiwgPG5h bWU+KSAqLworCQkJfCBBRERfUCBUYWJsZVBlcmlvZAorCQkJCXsKKwkJCQkJQWx0ZXJUYWJsZUNt ZCAqbiA9IG1ha2VOb2RlKEFsdGVyVGFibGVDbWQpOworCQkJCQluLT5zdWJ0eXBlID0gQVRfQWRk UGVyaW9kOworCQkJCQluLT5kZWYgPSAkMjsKKwkJCQkJJCQgPSAoTm9kZSAqKW47CisJCQkJfQor CQkJLyogQUxURVIgVEFCTEUgPG5hbWU+IERST1AgUEVSSU9EIEZPUiA8bmFtZT4gW1JFU1RSSUNU fENBU0NBREVdICovCisJCQl8IERST1AgUEVSSU9EIEZPUiBuYW1lIG9wdF9kcm9wX2JlaGF2aW9y CisJCQkJeworCQkJCQlBbHRlclRhYmxlQ21kICpuID0gbWFrZU5vZGUoQWx0ZXJUYWJsZUNtZCk7 CisJCQkJCW4tPnN1YnR5cGUgPSBBVF9Ecm9wUGVyaW9kOworCQkJCQluLT5uYW1lID0gJDQ7CisJ CQkJCW4tPmJlaGF2aW9yID0gJDU7CisJCQkJCW4tPm1pc3Npbmdfb2sgPSBmYWxzZTsKKwkJCQkJ JCQgPSAoTm9kZSAqKW47CisJCQkJfQogCQkJLyogQUxURVIgVEFCTEUgPG5hbWU+IEFERCBDT05T VFJBSU5UIC4uLiAqLwogCQkJfCBBRERfUCBUYWJsZUNvbnN0cmFpbnQKIAkJCQl7CkBAIC0zODU0 LDggKzM4NzIsMTAgQEAgVGFibGVFbGVtZW50OgogCQkJY29sdW1uRGVmCQkJCQkJCXsgJCQgPSAk MTsgfQogCQkJfCBUYWJsZUxpa2VDbGF1c2UJCQkJCXsgJCQgPSAkMTsgfQogCQkJfCBUYWJsZUNv bnN0cmFpbnQJCQkJCXsgJCQgPSAkMTsgfQorCQkJfCBUYWJsZVBlcmlvZAkJCQkJCXsgJCQgPSAk MTsgfQogCQk7CiAKKwogVHlwZWRUYWJsZUVsZW1lbnQ6CiAJCQljb2x1bW5PcHRpb25zCQkJCQkJ eyAkJCA9ICQxOyB9CiAJCQl8IFRhYmxlQ29uc3RyYWludAkJCQkJeyAkJCA9ICQxOyB9CkBAIC00 MjMzLDYgKzQyNTMsMTkgQEAgVGFibGVMaWtlT3B0aW9uOgogCQk7CiAKIAorVGFibGVQZXJpb2Q6 CisJCQlQRVJJT0QgRk9SIG5hbWUgJygnIG5hbWUgJywnIG5hbWUgJyknIG9wdF9kZWZpbml0aW9u CisJCQkJeworCQkJCQlQZXJpb2REZWYgKm4gPSBtYWtlTm9kZShQZXJpb2REZWYpOworCQkJCQlu LT5wZXJpb2RuYW1lID0gJDM7CisJCQkJCW4tPnN0YXJ0Y29sbmFtZSA9ICQ1OworCQkJCQluLT5l bmRjb2xuYW1lID0gJDc7CisJCQkJCW4tPm9wdGlvbnMgPSAkOTsKKwkJCQkJbi0+bG9jYXRpb24g PSBAMTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBuOworCQkJCX0KKwkJOworCiAvKiBDb25zdHJhaW50 RWxlbSBzcGVjaWZpZXMgY29uc3RyYWludCBzeW50YXggd2hpY2ggaXMgbm90IGVtYmVkZGVkIGlu dG8KICAqCWEgY29sdW1uIGRlZmluaXRpb24uIENvbENvbnN0cmFpbnRFbGVtIHNwZWNpZmllcyB0 aGUgZW1iZWRkZWQgZm9ybS4KICAqIC0gdGhvbWFzIDE5OTctMTItMDMKQEAgLTczNjcsNiArNzQw MCwxNCBAQCBDb21tZW50U3RtdDoKIAkJCQkJbi0+Y29tbWVudCA9ICQ5OwogCQkJCQkkJCA9IChO b2RlICopIG47CiAJCQkJfQorCQkJfCBDT01NRU5UIE9OIFBFUklPRCBhbnlfbmFtZSBJUyBjb21t ZW50X3RleHQKKwkJCQl7CisJCQkJCUNvbW1lbnRTdG10ICpuID0gbWFrZU5vZGUoQ29tbWVudFN0 bXQpOworCQkJCQluLT5vYmp0eXBlID0gT0JKRUNUX1BFUklPRDsKKwkJCQkJbi0+b2JqZWN0ID0g KE5vZGUgKikgJDQ7CisJCQkJCW4tPmNvbW1lbnQgPSAkNjsKKwkJCQkJJCQgPSAoTm9kZSAqKSBu OworCQkJCX0KIAkJCXwgQ09NTUVOVCBPTiBMQVJHRV9QIE9CSkVDVF9QIE51bWVyaWNPbmx5IElT IGNvbW1lbnRfdGV4dAogCQkJCXsKIAkJCQkJQ29tbWVudFN0bXQgKm4gPSBtYWtlTm9kZShDb21t ZW50U3RtdCk7CkBAIC0xODA4Niw3ICsxODEyNyw2IEBAIHVucmVzZXJ2ZWRfa2V5d29yZDoKIAkJ CXwgUEFTU0lORwogCQkJfCBQQVNTV09SRAogCQkJfCBQQVRICi0JCQl8IFBFUklPRAogCQkJfCBQ TEFOCiAJCQl8IFBMQU5TCiAJCQl8IFBPTElDWQpAQCAtMTgzOTIsNiArMTg0MzIsNyBAQCByZXNl cnZlZF9rZXl3b3JkOgogCQkJfCBPTkxZCiAJCQl8IE9SCiAJCQl8IE9SREVSCisJCQl8IFBFUklP RAogCQkJfCBQTEFDSU5HCiAJCQl8IFBSSU1BUlkKIAkJCXwgUkVGRVJFTkNFUwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3JlbGF0aW9uLmMgYi9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfcmVsYXRpb24uYwppbmRleCAzYzgwYmYxYjljZS4uZWIxZDA2NDNiMDkgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9yZWxhdGlvbi5jCisrKyBiL3NyYy9iYWNr ZW5kL3BhcnNlci9wYXJzZV9yZWxhdGlvbi5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSAi YWNjZXNzL3RhYmxlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9oZWFwLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9uYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3BlcmlvZC5oIgogI2luY2x1 ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJu b2Rlcy9tYWtlZnVuY3MuaCIKQEAgLTMyOTMsNiArMzI5NCw3IEBAIGV4cGFuZE5TSXRlbUF0dHJz KFBhcnNlU3RhdGUgKnBzdGF0ZSwgUGFyc2VOYW1lc3BhY2VJdGVtICpuc2l0ZW0sCiAJCQkJICBp bnQgc3VibGV2ZWxzX3VwLCBib29sIHJlcXVpcmVfY29sX3ByaXZzLCBpbnQgbG9jYXRpb24pCiB7 CiAJUmFuZ2VUYmxFbnRyeSAqcnRlID0gbnNpdGVtLT5wX3J0ZTsKKwlCaXRtYXBzZXQgICpwZXJp b2RhdHRzID0gTlVMTDsKIAlSVEVQZXJtaXNzaW9uSW5mbyAqcGVybWluZm8gPSBuc2l0ZW0tPnBf cGVybWluZm87CiAJTGlzdAkgICAqbmFtZXMsCiAJCQkgICAqdmFyczsKQEAgLTMzMTYsMTIgKzMz MTgsMjAgQEAgZXhwYW5kTlNJdGVtQXR0cnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQYXJzZU5hbWVz cGFjZUl0ZW0gKm5zaXRlbSwKIAkJcGVybWluZm8tPnJlcXVpcmVkUGVybXMgfD0gQUNMX1NFTEVD VDsKIAl9CiAKKwkvKiBHZXQgUEVSSU9EIGNvbHVtbnMgdG8gZXhjbHVkZSAqLworCWlmIChydGUt PnJ0ZWtpbmQgPT0gUlRFX1JFTEFUSU9OKQorCQlwZXJpb2RhdHRzID0gZ2V0X3BlcmlvZF9hdHRu b3MocnRlLT5yZWxpZCk7CisKIAlmb3Jib3RoKG5hbWUsIG5hbWVzLCB2YXIsIHZhcnMpCiAJewog CQljaGFyCSAgICpsYWJlbCA9IHN0clZhbChsZmlyc3QobmFtZSkpOwogCQlWYXIJCSAgICp2YXJu b2RlID0gKFZhciAqKSBsZmlyc3QodmFyKTsKIAkJVGFyZ2V0RW50cnkgKnRlOwogCisJCS8qIElm IHRoaXMgY29sdW1uIGlzIGZyb20gYSBQRVJJT0QsIHNraXAgaXQgKi8KKwkJaWYgKGJtc19pc19t ZW1iZXIodmFybm9kZS0+dmFyYXR0bm8sIHBlcmlvZGF0dHMpKQorCQkJY29udGludWU7CisKIAkJ dGUgPSBtYWtlVGFyZ2V0RW50cnkoKEV4cHIgKikgdmFybm9kZSwKIAkJCQkJCQkgKEF0dHJOdW1i ZXIpIHBzdGF0ZS0+cF9uZXh0X3Jlc25vKyssCiAJCQkJCQkJIGxhYmVsLApkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV91dGlsY21kLmMKaW5kZXggZTk2YjM4YTU5ZDUuLjY3ZTM2YWMxMzgzIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCisrKyBiL3NyYy9iYWNrZW5kL3Bh cnNlci9wYXJzZV91dGlsY21kLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJjYXRhbG9n L3BnX2NvbnN0cmFpbnQuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wY2xhc3MuaCIKICNpbmNs dWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wZXJpb2Qu aCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3N0YXRpc3RpY19leHQuaCIKICNpbmNsdWRlICJjYXRh bG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJjb21tYW5kcy9jb21tZW50LmgiCkBAIC04MCw2ICs4 MSw3IEBAIHR5cGVkZWYgc3RydWN0CiAJYm9vbAkJaXNmb3JlaWduOwkJLyogdHJ1ZSBpZiBDUkVB VEUvQUxURVIgRk9SRUlHTiBUQUJMRSAqLwogCWJvb2wJCWlzYWx0ZXI7CQkvKiB0cnVlIGlmIGFs dGVyaW5nIGV4aXN0aW5nIHRhYmxlICovCiAJTGlzdAkgICAqY29sdW1uczsJCS8qIENvbHVtbkRl ZiBpdGVtcyAqLworCUxpc3QJICAgKnBlcmlvZHM7CQkvKiBQZXJpb2REZWYgaXRlbXMgKi8KIAlM aXN0CSAgICpja2NvbnN0cmFpbnRzOwkvKiBDSEVDSyBjb25zdHJhaW50cyAqLwogCUxpc3QJICAg Km5uY29uc3RyYWludHM7CS8qIE5PVCBOVUxMIGNvbnN0cmFpbnRzICovCiAJTGlzdAkgICAqZmtj b25zdHJhaW50czsJLyogRk9SRUlHTiBLRVkgY29uc3RyYWludHMgKi8KQEAgLTExMCw2ICsxMTIs OCBAQCB0eXBlZGVmIHN0cnVjdAogCiBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1Db2x1bW5EZWZpbml0 aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsCiAJCQkJCQkJCQkgIENvbHVtbkRlZiAqY29sdW1u KTsKK3N0YXRpYyB2b2lkIHRyYW5zZm9ybVRhYmxlUGVyaW9kKENyZWF0ZVN0bXRDb250ZXh0ICpj eHQsCisJCQkJCQkJCSBQZXJpb2REZWYgKnBlcmlvZCk7CiBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1U YWJsZUNvbnN0cmFpbnQoQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwKIAkJCQkJCQkJCSBDb25zdHJh aW50ICpjb25zdHJhaW50KTsKIHN0YXRpYyB2b2lkIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVzZShD cmVhdGVTdG10Q29udGV4dCAqY3h0LApAQCAtMjQwLDYgKzI0NCw3IEBAIHRyYW5zZm9ybUNyZWF0 ZVN0bXQoQ3JlYXRlU3RtdCAqc3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJY3h0Lmlu aFJlbGF0aW9ucyA9IHN0bXQtPmluaFJlbGF0aW9uczsKIAljeHQuaXNhbHRlciA9IGZhbHNlOwog CWN4dC5jb2x1bW5zID0gTklMOworCWN4dC5wZXJpb2RzID0gTklMOwogCWN4dC5ja2NvbnN0cmFp bnRzID0gTklMOwogCWN4dC5ubmNvbnN0cmFpbnRzID0gTklMOwogCWN4dC5ma2NvbnN0cmFpbnRz ID0gTklMOwpAQCAtMjc5LDYgKzI4NCwxMCBAQCB0cmFuc2Zvcm1DcmVhdGVTdG10KENyZWF0ZVN0 bXQgKnN0bXQsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQogCQkJCXRyYW5zZm9ybUNvbHVtbkRl ZmluaXRpb24oJmN4dCwgKENvbHVtbkRlZiAqKSBlbGVtZW50KTsKIAkJCQlicmVhazsKIAorCQkJ Y2FzZSBUX1BlcmlvZERlZjoKKwkJCQl0cmFuc2Zvcm1UYWJsZVBlcmlvZCgmY3h0LCAoUGVyaW9k RGVmICopIGVsZW1lbnQpOworCQkJCWJyZWFrOworCiAJCQljYXNlIFRfQ29uc3RyYWludDoKIAkJ CQl0cmFuc2Zvcm1UYWJsZUNvbnN0cmFpbnQoJmN4dCwgKENvbnN0cmFpbnQgKikgZWxlbWVudCk7 CiAJCQkJYnJlYWs7CkBAIC0zNjcsNiArMzc2LDcgQEAgdHJhbnNmb3JtQ3JlYXRlU3RtdChDcmVh dGVTdG10ICpzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAkgKiBPdXRwdXQgcmVzdWx0 cy4KIAkgKi8KIAlzdG10LT50YWJsZUVsdHMgPSBjeHQuY29sdW1uczsKKwlzdG10LT5wZXJpb2Rz ID0gY3h0LnBlcmlvZHM7CiAJc3RtdC0+Y29uc3RyYWludHMgPSBjeHQuY2tjb25zdHJhaW50czsK IAlzdG10LT5ubmNvbnN0cmFpbnRzID0gY3h0Lm5uY29uc3RyYWludHM7CiAKQEAgLTEwMjcsNiAr MTAzNyw5MiBAQCB0cmFuc2Zvcm1Db2x1bW5EZWZpbml0aW9uKENyZWF0ZVN0bXRDb250ZXh0ICpj eHQsIENvbHVtbkRlZiAqY29sdW1uKQogCX0KIH0KIAordm9pZAordHJhbnNmb3JtUGVyaW9kT3B0 aW9ucyhQZXJpb2REZWYgKnBlcmlvZCkKK3sKKwlMaXN0Q2VsbCAgICpvcHRpb247CisJRGVmRWxl bSAgICAqZGNvbnN0cmFpbnRuYW1lID0gTlVMTDsKKwlEZWZFbGVtICAgICpkcmFuZ2V0eXBlbmFt ZSA9IE5VTEw7CisJRGVmRWxlbSAgICAqZGNvbGV4aXN0cyA9IE5VTEw7CisKKwlmb3JlYWNoKG9w dGlvbiwgcGVyaW9kLT5vcHRpb25zKQorCXsKKwkJRGVmRWxlbSAgICAqZGVmZWwgPSAoRGVmRWxl bSAqKSBsZmlyc3Qob3B0aW9uKTsKKworCQlpZiAoc3RyY21wKGRlZmVsLT5kZWZuYW1lLCAiY2hl Y2tfY29uc3RyYWludF9uYW1lIikgPT0gMCkKKwkJeworCQkJaWYgKGRjb25zdHJhaW50bmFtZSkK KwkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1Ip LAorCQkJCQkJIGVycm1zZygiY29uZmxpY3Rpbmcgb3IgcmVkdW5kYW50IG9wdGlvbnMiKSkpOwor CQkJZGNvbnN0cmFpbnRuYW1lID0gZGVmZWw7CisJCX0KKwkJZWxzZSBpZiAoc3RyY21wKGRlZmVs LT5kZWZuYW1lLCAicmFuZ2V0eXBlIikgPT0gMCkKKwkJeworCQkJaWYgKGRyYW5nZXR5cGVuYW1l KQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJP UiksCisJCQkJCQkgZXJybXNnKCJjb25mbGljdGluZyBvciByZWR1bmRhbnQgb3B0aW9ucyIpKSk7 CisJCQlkcmFuZ2V0eXBlbmFtZSA9IGRlZmVsOworCQl9CisJCWVsc2UgaWYgKHN0cmNtcChkZWZl bC0+ZGVmbmFtZSwgImNvbGV4aXN0cyIpID09IDApCisJCXsKKwkJCWlmIChkY29sZXhpc3RzKQor CQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiks CisJCQkJCQkgZXJybXNnKCJjb25mbGljdGluZyBvciByZWR1bmRhbnQgb3B0aW9ucyIpKSk7CisJ CQlkY29sZXhpc3RzID0gZGVmZWw7CisJCX0KKwkJZWxzZQorCQkJZXJlcG9ydChFUlJPUiwKKwkJ CQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJCQkgZXJybXNnKCJvcHRpb24g XCIlc1wiIG5vdCByZWNvZ25pemVkIiwgZGVmZWwtPmRlZm5hbWUpKSk7CisJfQorCisJaWYgKGRj b25zdHJhaW50bmFtZSAhPSBOVUxMKQorCQlwZXJpb2QtPmNvbnN0cmFpbnRuYW1lID0gZGVmR2V0 U3RyaW5nKGRjb25zdHJhaW50bmFtZSk7CisJZWxzZQorCQlwZXJpb2QtPmNvbnN0cmFpbnRuYW1l ID0gTlVMTDsKKworCWlmIChkcmFuZ2V0eXBlbmFtZSAhPSBOVUxMKQorCQlwZXJpb2QtPnJhbmdl dHlwZW5hbWUgPSBkZWZHZXRTdHJpbmcoZHJhbmdldHlwZW5hbWUpOworCWVsc2UKKwkJcGVyaW9k LT5yYW5nZXR5cGVuYW1lID0gTlVMTDsKKworCWlmIChkY29sZXhpc3RzICE9IE5VTEwpCisJCXBl cmlvZC0+Y29sZXhpc3RzID0gZGVmR2V0Qm9vbGVhbihkY29sZXhpc3RzKTsKKwllbHNlCisJCXBl cmlvZC0+Y29sZXhpc3RzID0gZmFsc2U7Cit9CisKKy8qCisgKiB0cmFuc2Zvcm1UYWJsZVBlcmlv ZAorICoJCXRyYW5zZm9ybSBhIFBlcmlvZERlZiBub2RlIHdpdGhpbiBDUkVBVEUgVEFCTEUKKyAq Lworc3RhdGljIHZvaWQKK3RyYW5zZm9ybVRhYmxlUGVyaW9kKENyZWF0ZVN0bXRDb250ZXh0ICpj eHQsIFBlcmlvZERlZiAqcGVyaW9kKQoreworCWlmIChzdHJjbXAocGVyaW9kLT5wZXJpb2RuYW1l LCAic3lzdGVtX3RpbWUiKSA9PSAwKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVS UkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJQRVJJT0QgRk9SIFNZ U1RFTV9USU1FIGlzIG5vdCBzdXBwb3J0ZWQiKSwKKwkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKGN4 dC0+cHN0YXRlLAorCQkJCQkJCQkJcGVyaW9kLT5sb2NhdGlvbikpKTsKKworCWlmIChzdHJjbXAo cGVyaW9kLT5zdGFydGNvbG5hbWUsIHBlcmlvZC0+ZW5kY29sbmFtZSkgPT0gMCkKKwkJZXJlcG9y dChFUlJPUiwgKGVycm1zZygiY29sdW1uIFwiJXNcIiBjYW4ndCBiZSB0aGUgc3RhcnQgYW5kIGVu ZCBjb2x1bW4gZm9yIHBlcmlvZCBcIiVzXCIiLAorCQkJCQkJCSAgIHBlcmlvZC0+c3RhcnRjb2xu YW1lLCBwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkvKgorCSAqIERldGVybWluZSB0aGUgY29s dW1uIGluZm8gYW5kIHJhbmdlIHR5cGUgc28gdGhhdAorCSAqIHRyYW5zZm9ybUluZGV4Q29uc3Ry YWludHMga25vd3MgaG93IHRvIGNyZWF0ZSBQUklNQVJZIEtFWS9VTklRVUUKKwkgKiBjb25zdHJh aW50cyB1c2luZyB0aGlzIFBFUklPRC4KKwkgKi8KKwl0cmFuc2Zvcm1QZXJpb2RPcHRpb25zKHBl cmlvZCk7CisKKwljeHQtPnBlcmlvZHMgPSBsYXBwZW5kKGN4dC0+cGVyaW9kcywgcGVyaW9kKTsK K30KKwogLyoKICAqIHRyYW5zZm9ybVRhYmxlQ29uc3RyYWludAogICoJCXRyYW5zZm9ybSBhIENv bnN0cmFpbnQgbm9kZSB3aXRoaW4gQ1JFQVRFIFRBQkxFIG9yIEFMVEVSIFRBQkxFCkBAIC0xMTI4 LDYgKzEyMjQsNyBAQCB0cmFuc2Zvcm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3RtdENvbnRleHQg KmN4dCwgVGFibGVMaWtlQ2xhdXNlICp0YWJsZV9saWtlX2NsYQogCUF0dHJOdW1iZXIJcGFyZW50 X2F0dG5vOwogCVJlbGF0aW9uCXJlbGF0aW9uOwogCVR1cGxlRGVzYwl0dXBsZURlc2M7CisJQml0 bWFwc2V0ICAqcGVyaW9kYXR0czsKIAlBY2xSZXN1bHQJYWNscmVzdWx0OwogCWNoYXIJICAgKmNv bW1lbnQ7CiAJUGFyc2VDYWxsYmFja1N0YXRlIHBjYnN0YXRlOwpAQCAtMTE3Myw2ICsxMjcwLDcg QEAgdHJhbnNmb3JtVGFibGVMaWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRhYmxl TGlrZUNsYXVzZSAqdGFibGVfbGlrZV9jbGEKIAl9CiAKIAl0dXBsZURlc2MgPSBSZWxhdGlvbkdl dERlc2NyKHJlbGF0aW9uKTsKKwlwZXJpb2RhdHRzID0gZ2V0X3BlcmlvZF9hdHRub3MoUmVsYXRp b25HZXRSZWxpZChyZWxhdGlvbikpOwogCiAJLyoKIAkgKiBJbnNlcnQgdGhlIGNvcGllZCBhdHRy aWJ1dGVzIGludG8gdGhlIGN4dCBmb3IgdGhlIG5ldyB0YWJsZSBkZWZpbml0aW9uLgpAQCAtMTE4 MiwxMCArMTI4MCwxOCBAQCB0cmFuc2Zvcm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3RtdENvbnRl eHQgKmN4dCwgVGFibGVMaWtlQ2xhdXNlICp0YWJsZV9saWtlX2NsYQogCWZvciAocGFyZW50X2F0 dG5vID0gMTsgcGFyZW50X2F0dG5vIDw9IHR1cGxlRGVzYy0+bmF0dHM7CiAJCSBwYXJlbnRfYXR0 bm8rKykKIAl7Ci0JCUZvcm1fcGdfYXR0cmlidXRlIGF0dHJpYnV0ZSA9IFR1cGxlRGVzY0F0dHIo dHVwbGVEZXNjLAotCQkJCQkJCQkJCQkJCXBhcmVudF9hdHRubyAtIDEpOworCQlGb3JtX3BnX2F0 dHJpYnV0ZSBhdHRyaWJ1dGU7CiAJCUNvbHVtbkRlZiAgKmRlZjsKIAorCQkvKgorCQkgKiBJZiB0 aGlzIGNvbHVtbiBpcyBmcm9tIGEgUEVSSU9ELCBza2lwIGl0IChzaW5jZSBMSUtFIG5ldmVyIGNv cGllcworCQkgKiBQRVJJT0RzKS4KKwkJICovCisJCWlmIChibXNfaXNfbWVtYmVyKHBhcmVudF9h dHRubywgcGVyaW9kYXR0cykpCisJCQljb250aW51ZTsKKworCQlhdHRyaWJ1dGUgPSBUdXBsZURl c2NBdHRyKHR1cGxlRGVzYywgcGFyZW50X2F0dG5vIC0gMSk7CisKIAkJLyoKIAkJICogSWdub3Jl IGRyb3BwZWQgY29sdW1ucyBpbiB0aGUgcGFyZW50LgogCQkgKi8KQEAgLTEyNzEsMTMgKzEzNzcs MTYgQEAgdHJhbnNmb3JtVGFibGVMaWtlQ2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFRh YmxlTGlrZUNsYXVzZSAqdGFibGVfbGlrZV9jbGEKIAkvKgogCSAqIFJlcHJvZHVjZSBub3QtbnVs bCBjb25zdHJhaW50cywgaWYgYW55LCBieSBjb3B5aW5nIHRoZW0uICBXZSBkbyB0aGlzCiAJICog cmVnYXJkbGVzcyBvZiBvcHRpb25zIGdpdmVuLgorCSAqCisJICogU2luY2Ugd2Ugc2tpcHBlZCBQ RVJJT0RzJyBHRU5FUkFURUQgY29sdW1ucyBhYm92ZSwgd2UgbXVzdCBza2lwIHRoZWlyCisJICog bm90LW51bGwgY29uc3RyYWludHMgaGVyZS4KIAkgKi8KIAlpZiAodHVwbGVEZXNjLT5jb25zdHIg JiYgdHVwbGVEZXNjLT5jb25zdHItPmhhc19ub3RfbnVsbCkKIAl7CiAJCUxpc3QJICAgKmxzdDsK IAogCQlsc3QgPSBSZWxhdGlvbkdldE5vdE51bGxDb25zdHJhaW50cyhSZWxhdGlvbkdldFJlbGlk KHJlbGF0aW9uKSwgZmFsc2UsCi0JCQkJCQkJCQkJCXRydWUpOworCQkJCQkJCQkJCQl0cnVlLCBw ZXJpb2RhdHRzKTsKIAkJY3h0LT5ubmNvbnN0cmFpbnRzID0gbGlzdF9jb25jYXQoY3h0LT5ubmNv bnN0cmFpbnRzLCBsc3QpOwogCiAJCS8qIENvcHkgY29tbWVudHMgb24gbm90LW51bGwgY29uc3Ry YWludHMgKi8KQEAgLTI2MDksNiArMjcxOCw3IEBAIHRyYW5zZm9ybUluZGV4Q29uc3RyYWludChD b25zdHJhaW50ICpjb25zdHJhaW50LCBDcmVhdGVTdG10Q29udGV4dCAqY3h0KQogCQl7CiAJCQlj aGFyCSAgICprZXkgPSBzdHJWYWwobGZpcnN0KGxjKSk7CiAJCQlib29sCQlmb3VuZCA9IGZhbHNl OworCQkJYm9vbAkJaGFzcGVyaW9kID0gZmFsc2U7CiAJCQlDb2x1bW5EZWYgICpjb2x1bW4gPSBO VUxMOwogCQkJTGlzdENlbGwgICAqY29sdW1uczsKIAkJCUluZGV4RWxlbSAgKmlwYXJhbTsKQEAg LTI2MjcsNiArMjczNywyNCBAQCB0cmFuc2Zvcm1JbmRleENvbnN0cmFpbnQoQ29uc3RyYWludCAq Y29uc3RyYWludCwgQ3JlYXRlU3RtdENvbnRleHQgKmN4dCkKIAkJCWlmICghZm91bmQpCiAJCQkJ Y29sdW1uID0gTlVMTDsKIAorCQkJLyogSWYgdGhlIGtleSBpcyBXSVRIT1VUIE9WRVJMQVBTLCBh IFBFUklPRCB3aWxsIHdvcmsgdG9vLiAqLworCQkJaWYgKCFmb3VuZCAmJiBjb25zdHJhaW50LT53 aXRob3V0X292ZXJsYXBzICYmCisJCQkJbGMgPT0gbGlzdF9sYXN0X2NlbGwoY29uc3RyYWludC0+ a2V5cykpCisJCQl7CisJCQkJUGVyaW9kRGVmICAqcGVyaW9kID0gTlVMTDsKKworCQkJCWZvcmVh Y2goY29sdW1ucywgY3h0LT5wZXJpb2RzKQorCQkJCXsKKwkJCQkJcGVyaW9kID0gbGZpcnN0X25v ZGUoUGVyaW9kRGVmLCBjb2x1bW5zKTsKKwkJCQkJaWYgKHN0cmNtcChwZXJpb2QtPnBlcmlvZG5h bWUsIGtleSkgPT0gMCkKKwkJCQkJeworCQkJCQkJZm91bmQgPSB0cnVlOworCQkJCQkJaGFzcGVy aW9kID0gdHJ1ZTsKKwkJCQkJCWJyZWFrOworCQkJCQl9CisJCQkJfQorCQkJfQorCiAJCQlpZiAo Zm91bmQpCiAJCQl7CiAJCQkJLyoKQEAgLTI2NDMsMjQgKzI3NzEsMzcgQEAgdHJhbnNmb3JtSW5k ZXhDb25zdHJhaW50KENvbnN0cmFpbnQgKmNvbnN0cmFpbnQsIENyZWF0ZVN0bXRDb250ZXh0ICpj eHQpCiAJCQkJaWYgKGNvbnN0cmFpbnQtPmNvbnR5cGUgPT0gQ09OU1RSX1BSSU1BUlkgJiYKIAkJ CQkJIWN4dC0+aXNhbHRlcikKIAkJCQl7Ci0JCQkJCWlmIChjb2x1bW4tPmlzX25vdF9udWxsKQor CQkJCQlpZiAoY29sdW1uKQogCQkJCQl7Ci0JCQkJCQlmb3JlYWNoX25vZGUoQ29uc3RyYWludCwg bm4sIGN4dC0+bm5jb25zdHJhaW50cykKKwkJCQkJCWlmIChjb2x1bW4tPmlzX25vdF9udWxsKQog CQkJCQkJewotCQkJCQkJCWlmIChzdHJjbXAoc3RyVmFsKGxpbml0aWFsKG5uLT5rZXlzKSksIGtl eSkgPT0gMCkKKwkJCQkJCQlmb3JlYWNoX25vZGUoQ29uc3RyYWludCwgbm4sIGN4dC0+bm5jb25z dHJhaW50cykKIAkJCQkJCQl7Ci0JCQkJCQkJCWlmIChubi0+aXNfbm9faW5oZXJpdCkKLQkJCQkJ CQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJS T1IpLAotCQkJCQkJCQkJCQllcnJtc2coImNvbmZsaWN0aW5nIE5PIElOSEVSSVQgZGVjbGFyYXRp b24gZm9yIG5vdC1udWxsIGNvbnN0cmFpbnQgb24gY29sdW1uIFwiJXNcIiIsCi0JCQkJCQkJCQkJ CQkgICBrZXkpKTsKLQkJCQkJCQkJYnJlYWs7CisJCQkJCQkJCWlmIChzdHJjbXAoc3RyVmFsKGxp bml0aWFsKG5uLT5rZXlzKSksIGtleSkgPT0gMCkKKwkJCQkJCQkJeworCQkJCQkJCQkJaWYgKG5u LT5pc19ub19pbmhlcml0KQorCQkJCQkJCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkJCQkJCQll cnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKKwkJCQkJCQkJCQkJCWVycm1zZygiY29uZmxp Y3RpbmcgTk8gSU5IRVJJVCBkZWNsYXJhdGlvbiBmb3Igbm90LW51bGwgY29uc3RyYWludCBvbiBj b2x1bW4gXCIlc1wiIiwKKwkJCQkJCQkJCQkJCQkgICBrZXkpKTsKKwkJCQkJCQkJCWJyZWFrOwor CQkJCQkJCQl9CiAJCQkJCQkJfQogCQkJCQkJfQorCQkJCQkJZWxzZQorCQkJCQkJeworCQkJCQkJ CWNvbHVtbi0+aXNfbm90X251bGwgPSB0cnVlOworCQkJCQkJCWN4dC0+bm5jb25zdHJhaW50cyA9 CisJCQkJCQkJCWxhcHBlbmQoY3h0LT5ubmNvbnN0cmFpbnRzLAorCQkJCQkJCQkJCW1ha2VOb3RO dWxsQ29uc3RyYWludChtYWtlU3RyaW5nKGtleSkpKTsKKwkJCQkJCX0KIAkJCQkJfQotCQkJCQll bHNlCisJCQkJCWVsc2UgaWYgKGhhc3BlcmlvZCkKIAkJCQkJewotCQkJCQkJY29sdW1uLT5pc19u b3RfbnVsbCA9IHRydWU7CisJCQkJCQkvKgorCQkJCQkJICogSWYgd2UncmUgdXNpbmcgYSBQRVJJ T0QsIHdlIGJldHRlciBtYWtlIHN1cmUgaXQgaXMKKwkJCQkJCSAqIE5PVCBOVUxMCisJCQkJCQkg Ki8KIAkJCQkJCWN4dC0+bm5jb25zdHJhaW50cyA9CiAJCQkJCQkJbGFwcGVuZChjeHQtPm5uY29u c3RyYWludHMsCiAJCQkJCQkJCQltYWtlTm90TnVsbENvbnN0cmFpbnQobWFrZVN0cmluZyhrZXkp KSk7CkBAIC0yNzg3LDcgKzI5MjgsMTMgQEAgdHJhbnNmb3JtSW5kZXhDb25zdHJhaW50KENvbnN0 cmFpbnQgKmNvbnN0cmFpbnQsIENyZWF0ZVN0bXRDb250ZXh0ICpjeHQpCiAJCQkJCQl9CiAJCQkJ CX0KIAkJCQl9Ci0JCQkJaWYgKGZvdW5kKQorCisJCQkJLyoKKwkJCQkgKiBJbiBDUkVBVEUgVEFC TEUgd2UgZG9uJ3Qga25vdyBQRVJJT0RzJyByYW5nZXR5cGUgeWV0LCBidXQKKwkJCQkgKiB3ZSBr bm93IGl0IHdpbGwgYmUgYSByYW5nZS9tdWx0aXJhbmdlLiBTbyBpZiB3ZSBoYXZlIGEKKwkJCQkg KiBQRVJJT0QgdGhlbiB3ZSdyZSBzYWZlLgorCQkJCSAqLworCQkJCWlmIChmb3VuZCAmJiAhaGFz cGVyaW9kKQogCQkJCXsKIAkJCQkJaWYgKCFPaWRJc1ZhbGlkKHR5cGlkKSAmJiBjb2x1bW4pCiAJ CQkJCQl0eXBpZCA9IHR5cGVuYW1lVHlwZUlkKE5VTEwsIGNvbHVtbi0+dHlwZU5hbWUpOwpAQCAt MzExMyw2ICszMjYwLDEwIEBAIHRyYW5zZm9ybUluZGV4U3RtdChPaWQgcmVsaWQsIEluZGV4U3Rt dCAqc3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJCX0KIAl9CiAKKwkvKiB0YWtlIGNh cmUgb2YgdGhlIHBlcmlvZCAqLworCWlmIChzdG10LT5wZXJpb2QpCisJCXN0bXQtPnBlcmlvZC0+ b2lkID0gZ2V0X3BlcmlvZF9vaWQocmVsaWQsIHN0bXQtPnBlcmlvZC0+cGVyaW9kbmFtZSwgZmFs c2UpOworCiAJLyoKIAkgKiBDaGVjayB0aGF0IG9ubHkgdGhlIGJhc2UgcmVsIGlzIG1lbnRpb25l ZC4gIChUaGlzIHNob3VsZCBiZSBkZWFkIGNvZGUKIAkgKiBub3cgdGhhdCBhZGRfbWlzc2luZ19m cm9tIGlzIGhpc3RvcnkuKQpAQCAtMzU3MCw2ICszNzIxLDcgQEAgdHJhbnNmb3JtQWx0ZXJUYWJs ZVN0bXQoT2lkIHJlbGlkLCBBbHRlclRhYmxlU3RtdCAqc3RtdCwKIAljeHQuaW5oUmVsYXRpb25z ID0gTklMOwogCWN4dC5pc2FsdGVyID0gdHJ1ZTsKIAljeHQuY29sdW1ucyA9IE5JTDsKKwljeHQu cGVyaW9kcyA9IE5JTDsKIAljeHQuY2tjb25zdHJhaW50cyA9IE5JTDsKIAljeHQubm5jb25zdHJh aW50cyA9IE5JTDsKIAljeHQuZmtjb25zdHJhaW50cyA9IE5JTDsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9NYWtlZmlsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9NYWtlZmls ZQppbmRleCBjYzY4YWM1NDVhNS4uNWQ4Y2IzNTMwMTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9NYWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvTWFrZWZpbGUK QEAgLTgwLDYgKzgwLDcgQEAgT0JKUyA9IFwKIAlvcmFjbGVfY29tcGF0Lm8gXAogCW9yZGVyZWRz ZXRhZ2dzLm8gXAogCXBhcnRpdGlvbmZ1bmNzLm8gXAorCXBlcmlvZC5vIFwKIAlwZ19sb2NhbGUu byBcCiAJcGdfbG9jYWxlX2J1aWx0aW4ubyBcCiAJcGdfbG9jYWxlX2ljdS5vIFwKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZXJpb2QuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZXJpb2QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmY4OTkw NjhkMDMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGVyaW9kLmMK QEAgLTAsMCArMSw1OCBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogcGVyaW9kLmMKKyAq CSAgRnVuY3Rpb25zIHRvIHN1cHBvcnQgcGVyaW9kcy4KKyAqCisgKgorICogUG9ydGlvbnMgQ29w eXJpZ2h0IChjKSAxOTk2LTIwMjIsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3Vw CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNp dHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqCisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFj a2VuZC91dGlscy9hZHQvcGVyaW9kLmMKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2lu Y2x1ZGUgInBvc3RncmVzLmgiCisKKyNpbmNsdWRlICJleGVjdXRvci90dXB0YWJsZS5oIgorI2lu Y2x1ZGUgImZtZ3IuaCIKKyNpbmNsdWRlICJub2Rlcy9wcmltbm9kZXMuaCIKKyNpbmNsdWRlICJ1 dGlscy9mbWdycHJvdG9zLmgiCisjaW5jbHVkZSAidXRpbHMvcGVyaW9kLmgiCisjaW5jbHVkZSAi dXRpbHMvcmFuZ2V0eXBlcy5oIgorCitEYXR1bQorcGVyaW9kX3RvX3JhbmdlKFR1cGxlVGFibGVT bG90ICpzbG90LCBpbnQgc3RhcnRhdHRubywgaW50IGVuZGF0dG5vLCBPaWQgcmFuZ2V0eXBlKQor eworCURhdHVtCQlzdGFydHZhbHVlOworCURhdHVtCQllbmR2YWx1ZTsKKwlEYXR1bQkJcmVzdWx0 OworCWJvb2wJCXN0YXJ0aXNudWxsOworCWJvb2wJCWVuZGlzbnVsbDsKKworCUxPQ0FMX0ZDSU5G TyhmY2luZm8sIDIpOworCUZtZ3JJbmZvCWZsaW5mbzsKKwlGdW5jRXhwciAgICpmOworCisJSW5p dEZ1bmN0aW9uQ2FsbEluZm9EYXRhKCpmY2luZm8sICZmbGluZm8sIDIsIEludmFsaWRPaWQsIE5V TEwsIE5VTEwpOworCWYgPSBtYWtlTm9kZShGdW5jRXhwcik7CisJZi0+ZnVuY3Jlc3VsdHR5cGUg PSByYW5nZXR5cGU7CisJZmxpbmZvLmZuX2V4cHIgPSAoTm9kZSAqKSBmOworCWZsaW5mby5mbl9l eHRyYSA9IE5VTEw7CisKKwkvKiBjb21wdXRlIG9sZHZhbHVlICovCisJc3RhcnR2YWx1ZSA9IHNs b3RfZ2V0YXR0cihzbG90LCBzdGFydGF0dG5vLCAmc3RhcnRpc251bGwpOworCWVuZHZhbHVlID0g c2xvdF9nZXRhdHRyKHNsb3QsIGVuZGF0dG5vLCAmZW5kaXNudWxsKTsKKworCWZjaW5mby0+YXJn c1swXS52YWx1ZSA9IHN0YXJ0dmFsdWU7CisJZmNpbmZvLT5hcmdzWzBdLmlzbnVsbCA9IHN0YXJ0 aXNudWxsOworCWZjaW5mby0+YXJnc1sxXS52YWx1ZSA9IGVuZHZhbHVlOworCWZjaW5mby0+YXJn c1sxXS5pc251bGwgPSBlbmRpc251bGw7CisKKwlyZXN1bHQgPSByYW5nZV9jb25zdHJ1Y3RvcjIo ZmNpbmZvKTsKKwlpZiAoZmNpbmZvLT5pc251bGwpCisJCWVsb2coRVJST1IsICJmdW5jdGlvbiAl dSByZXR1cm5lZCBOVUxMIiwgZmxpbmZvLmZuX29pZCk7CisKKwlyZXR1cm4gcmVzdWx0OworfQpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5c2NhY2hlLmMgYi9zcmMvYmFj a2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYwppbmRleCA0MzE1OGFmYWMxNS4uMzRjOTgxODhi MGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCkBAIC0zMyw2ICszMyw3IEBACiAj aW5jbHVkZSAiY2F0YWxvZy9wZ19vcGNsYXNzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19vcGZh bWlseS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIKKyNpbmNsdWRlICJjYXRh bG9nL3BnX3BlcmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcHJvYy5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfcHVibGljYXRpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3JhbmdlLmgi CkBAIC0xMDg4LDYgKzEwODksNjggQEAgZ2V0X2F0dG9wdGlvbnMoT2lkIHJlbGlkLCBpbnQxNiBh dHRudW0pCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorLyoJCQkJLS0tLS0tLS0tLSBQR19QRVJJT0Qg Q0FDSEUgLS0tLS0tLS0tLQkJCQkgKi8KKworLyoKKyAqIGdldF9wZXJpb2RuYW1lIC0gZ2l2ZW4g aXRzIE9JRCwgbG9vayB1cCBhIHBlcmlvZAorICoKKyAqIElmIG1pc3Npbmdfb2sgaXMgZmFsc2Us IHRocm93IGFuIGVycm9yIGlmIHRoZSBwZXJpb2QgaXMgbm90IGZvdW5kLgorICogSWYgdHJ1ZSwg anVzdCByZXR1cm4gSW52YWxpZE9pZC4KKyAqLworY2hhciAqCitnZXRfcGVyaW9kbmFtZShPaWQg cGVyaW9kaWQsIGJvb2wgbWlzc2luZ19vaykKK3sKKwlIZWFwVHVwbGUJdHA7CisKKwl0cCA9IFNl YXJjaFN5c0NhY2hlMShQRVJJT0RPSUQsCisJCQkJCQkgT2JqZWN0SWRHZXREYXR1bShwZXJpb2Rp ZCkpOworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHRwKSkKKwl7CisJCUZvcm1fcGdfcGVyaW9kIHBl cmlvZF90dXAgPSAoRm9ybV9wZ19wZXJpb2QpIEdFVFNUUlVDVCh0cCk7CisJCWNoYXIJICAgKnJl c3VsdDsKKworCQlyZXN1bHQgPSBwc3RyZHVwKE5hbWVTdHIocGVyaW9kX3R1cC0+cGVybmFtZSkp OworCQlSZWxlYXNlU3lzQ2FjaGUodHApOworCQlyZXR1cm4gcmVzdWx0OworCX0KKworCWlmICgh bWlzc2luZ19vaykKKwkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIHBlcmlv ZCAlZCIsCisJCQkgcGVyaW9kaWQpOworCXJldHVybiBOVUxMOworfQorCisvKgorICogZ2V0X3Bl cmlvZF9vaWQgLSBnZXRzIGl0cyByZWxhdGlvbiBhbmQgbmFtZSwgbG9vayB1cCBhIHBlcmlvZAor ICoKKyAqIElmIG1pc3Npbmdfb2sgaXMgZmFsc2UsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjYXN0 IGlzIG5vdCBmb3VuZC4gIElmCisgKiB0cnVlLCBqdXN0IHJldHVybiBJbnZhbGlkT2lkLgorICov CitPaWQKK2dldF9wZXJpb2Rfb2lkKE9pZCByZWxpZCwgY29uc3QgY2hhciAqcGVyaW9kbmFtZSwg Ym9vbCBtaXNzaW5nX29rKQoreworCUhlYXBUdXBsZQl0cDsKKworCXRwID0gU2VhcmNoU3lzQ2Fj aGUyKFBFUklPRE5BTUUsCisJCQkJCQkgT2JqZWN0SWRHZXREYXR1bShyZWxpZCksCisJCQkJCQkg UG9pbnRlckdldERhdHVtKHBlcmlvZG5hbWUpKTsKKworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHRw KSkKKwl7CisJCUZvcm1fcGdfcGVyaW9kIHBlcmlvZF90dXAgPSAoRm9ybV9wZ19wZXJpb2QpIEdF VFNUUlVDVCh0cCk7CisJCU9pZAkJCXJlc3VsdDsKKworCQlyZXN1bHQgPSBwZXJpb2RfdHVwLT5v aWQ7CisJCVJlbGVhc2VTeXNDYWNoZSh0cCk7CisJCXJldHVybiByZXN1bHQ7CisJfQorCisJaWYg KCFtaXNzaW5nX29rKQorCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgcGVy aW9kICVzIiwKKwkJCSBwZXJpb2RuYW1lKTsKKwlyZXR1cm4gSW52YWxpZE9pZDsKK30KKwogLyoJ CQkJLS0tLS0tLS0tLSBQR19DQVNUIENBQ0hFIC0tLS0tLS0tLS0JCQkJCSAqLwogCiAvKgpAQCAt MzY5Miw2ICszNzU1LDMxIEBAIGdldF9tdWx0aXJhbmdlX3JhbmdlKE9pZCBtdWx0aXJhbmdlT2lk KQogCQlyZXR1cm4gSW52YWxpZE9pZDsKIH0KIAorT2lkCitnZXRfc3VidHlwZV9yYW5nZShPaWQg c3VidHlwZU9pZCkKK3sKKwlDYXRDTGlzdCAgICpjYXRsaXN0OworCU9pZAkJCXJlc3VsdCA9IElu dmFsaWRPaWQ7CisKKwljYXRsaXN0ID0gU2VhcmNoU3lzQ2FjaGVMaXN0MShSQU5HRVNVQlRZUEUs IE9iamVjdElkR2V0RGF0dW0oc3VidHlwZU9pZCkpOworCisJaWYgKGNhdGxpc3QtPm5fbWVtYmVy cyA9PSAxKQorCXsKKwkJSGVhcFR1cGxlCXR1cGxlID0gJmNhdGxpc3QtPm1lbWJlcnNbMF0tPnR1 cGxlOworCQlGb3JtX3BnX3JhbmdlIHJuZ3R1cCA9IChGb3JtX3BnX3JhbmdlKSBHRVRTVFJVQ1Qo dHVwbGUpOworCisJCXJlc3VsdCA9IHJuZ3R1cC0+cm5ndHlwaWQ7CisJCVJlbGVhc2VDYXRDYWNo ZUxpc3QoY2F0bGlzdCk7CisJfQorCWVsc2UgaWYgKGNhdGxpc3QtPm5fbWVtYmVycyA+IDEpCisJ CWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTkRFVEVSTUlOQVRFX0RBVEFU WVBFKSwKKwkJCQkgZXJybXNnKCJhbWJpZ3VvdXMgcmFuZ2UgZm9yIHR5cGUgJXMiLAorCQkJCQkJ Zm9ybWF0X3R5cGVfYmUoc3VidHlwZU9pZCkpKSk7CisKKwlyZXR1cm4gcmVzdWx0OworfQorCiAv KgkJCQktLS0tLS0tLS0tIFBHX0lOREVYIENBQ0hFIC0tLS0tLS0tLS0JCQkJICovCiAKIC8qCmRp ZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMgYi9zcmMvYmlu L3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMKaW5kZXggNTllYWVjYjRlZDcuLjgyMGU4OWU0 ZmQ1IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMKKysr IGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5jCkBAIC0zODczLDYgKzM4NzMs NyBAQCBfZ2V0T2JqZWN0RGVzY3JpcHRpb24oUFFFeHBCdWZmZXIgYnVmLCBjb25zdCBUb2NFbnRy eSAqdGUpCiAJCQkgc3RyY21wKHR5cGUsICJEQVRBQkFTRSBQUk9QRVJUSUVTIikgPT0gMCB8fAog CQkJIHN0cmNtcCh0eXBlLCAiREVGQVVMVCIpID09IDAgfHwKIAkJCSBzdHJjbXAodHlwZSwgIkZL IENPTlNUUkFJTlQiKSA9PSAwIHx8CisJCQkgc3RyY21wKHR5cGUsICJQRVJJT0QiKSA9PSAwIHx8 CiAJCQkgc3RyY21wKHR5cGUsICJJTkRFWCIpID09IDAgfHwKIAkJCSBzdHJjbXAodHlwZSwgIlJV TEUiKSA9PSAwIHx8CiAJCQkgc3RyY21wKHR5cGUsICJUUklHR0VSIikgPT0gMCB8fApkaWZmIC0t Z2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmMKaW5kZXggNDc5MTMxNzhhOTMuLjhjMzYwNTQ3ODMyIDEwMDY0NAotLS0gYS9zcmMvYmluL3Bn X2R1bXAvcGdfZHVtcC5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKQEAgLTcxODQs NiArNzE4NCw3IEBAIGdldFRhYmxlcyhBcmNoaXZlICpmb3V0LCBpbnQgKm51bVRhYmxlcykKIAlp bnQJCQlpX3JlbHR5cGU7CiAJaW50CQkJaV9yZWxvd25lcjsKIAlpbnQJCQlpX3JlbGNoZWNrczsK KwlpbnQJCQlpX25wZXJpb2Q7CiAJaW50CQkJaV9yZWxoYXNpbmRleDsKIAlpbnQJCQlpX3JlbGhh c3J1bGVzOwogCWludAkJCWlfcmVscGFnZXM7CkBAIC03MjcxLDYgKzcyNzIsMTQgQEAgZ2V0VGFi bGVzKEFyY2hpdmUgKmZvdXQsIGludCAqbnVtVGFibGVzKQogCQlhcHBlbmRQUUV4cEJ1ZmZlclN0 cihxdWVyeSwKIAkJCQkJCQkgImMucmVsaGFzb2lkcywgIik7CiAKKwkvKiBJbiBQRzE5IHVwd2Fy ZHMgd2UgaGF2ZSBQRVJJT0RzLiAqLworCWlmIChmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE5MDAw MCkKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCisJCQkJCQkJICIoU0VMRUNUIGNvdW50 KCopIEZST00gcGdfcGVyaW9kIFdIRVJFIHBlcnJlbGlkID0gYy5vaWQpIEFTIG5wZXJpb2RzLCAi KTsKKwllbHNlCisJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAorCQkJCQkJCSAiMCBBUyBu cGVyaW9kcywgIik7CisKIAlpZiAoZm91dC0+cmVtb3RlVmVyc2lvbiA+PSA5MDMwMCkKIAkJYXBw ZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkJICJjLnJlbGlzcG9wdWxhdGVkLCAiKTsK QEAgLTc0MDgsNiArNzQxNyw3IEBAIGdldFRhYmxlcyhBcmNoaXZlICpmb3V0LCBpbnQgKm51bVRh YmxlcykKIAlpX3JlbHR5cGUgPSBQUWZudW1iZXIocmVzLCAicmVsdHlwZSIpOwogCWlfcmVsb3du ZXIgPSBQUWZudW1iZXIocmVzLCAicmVsb3duZXIiKTsKIAlpX3JlbGNoZWNrcyA9IFBRZm51bWJl cihyZXMsICJyZWxjaGVja3MiKTsKKwlpX25wZXJpb2QgPSBQUWZudW1iZXIocmVzLCAibnBlcmlv ZHMiKTsKIAlpX3JlbGhhc2luZGV4ID0gUFFmbnVtYmVyKHJlcywgInJlbGhhc2luZGV4Iik7CiAJ aV9yZWxoYXNydWxlcyA9IFBRZm51bWJlcihyZXMsICJyZWxoYXNydWxlcyIpOwogCWlfcmVscGFn ZXMgPSBQUWZudW1iZXIocmVzLCAicmVscGFnZXMiKTsKQEAgLTc0OTcsNiArNzUwNyw3IEBAIGdl dFRhYmxlcyhBcmNoaXZlICpmb3V0LCBpbnQgKm51bVRhYmxlcykKIAkJfQogCQl0YmxpbmZvW2ld LnJlbHRhYmxlc3BhY2UgPSBwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfcmVsdGFibGVz cGFjZSkpOwogCQl0YmxpbmZvW2ldLmhhc29pZHMgPSAoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCBp LCBpX3JlbGhhc29pZHMpLCAidCIpID09IDApOworCQl0YmxpbmZvW2ldLm5wZXJpb2QgPSBhdG9p KFBRZ2V0dmFsdWUocmVzLCBpLCBpX25wZXJpb2QpKTsKIAkJdGJsaW5mb1tpXS5oYXN0cmlnZ2Vy cyA9IChzdHJjbXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfcmVsaGFzdHJpZ2dlcnMpLCAidCIpID09 IDApOwogCQl0YmxpbmZvW2ldLnJlbHBlcnNpc3RlbmNlID0gKihQUWdldHZhbHVlKHJlcywgaSwg aV9yZWxwZXJzaXN0ZW5jZSkpOwogCQl0YmxpbmZvW2ldLnJlbGlzcG9wdWxhdGVkID0gKHN0cmNt cChQUWdldHZhbHVlKHJlcywgaSwgaV9yZWxpc3BvcHVsYXRlZCksICJ0IikgPT0gMCk7CkBAIC03 OTU1LDcgKzc5NjYsNyBAQCBnZXRJbmRleGVzKEFyY2hpdmUgKmZvdXQsIFRhYmxlSW5mbyB0Ymxp bmZvW10sIGludCBudW1UYWJsZXMpCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAogCQkJ CQkJCSAiZmFsc2UgQVMgaW5kbnVsbHNub3RkaXN0aW5jdCwgIik7CiAKLQlpZiAoZm91dC0+cmVt b3RlVmVyc2lvbiA+PSAxODAwMDApCisJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0gMTkwMDAw KQogCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKIAkJCQkJCQkgImMuY29ucGVyaW9kICIp OwogCWVsc2UKQEAgLTkyMTIsNyArOTIyMyw3IEBAIGdldFRyYW5zZm9ybXMoQXJjaGl2ZSAqZm91 dCkKIC8qCiAgKiBnZXRUYWJsZUF0dHJzIC0KICAqCSAgZm9yIGVhY2ggaW50ZXJlc3RpbmcgdGFi bGUsIHJlYWQgaW5mbyBhYm91dCBpdHMgYXR0cmlidXRlcwotICoJICAobmFtZXMsIHR5cGVzLCBk ZWZhdWx0IHZhbHVlcywgQ0hFQ0sgY29uc3RyYWludHMsIGV0YykKKyAqCSAgKG5hbWVzLCB0eXBl cywgZGVmYXVsdCB2YWx1ZXMsIENIRUNLIGNvbnN0cmFpbnRzLCBQRVJJT0RzLCBldGMpCiAgKgog ICoJbW9kaWZpZXMgdGJsaW5mbwogICovCkBAIC05MjY3LDYgKzkyNzgsOCBAQCBnZXRUYWJsZUF0 dHJzKEFyY2hpdmUgKmZvdXQsIFRhYmxlSW5mbyAqdGJsaW5mbywgaW50IG51bVRhYmxlcykKIAlm b3IgKGludCBpID0gMDsgaSA8IG51bVRhYmxlczsgaSsrKQogCXsKIAkJVGFibGVJbmZvICAqdGJp bmZvID0gJnRibGluZm9baV07CisJCWludAkJCW5kdW1wYWJsZWNoZWNrczsJLyogbnVtYmVyIG9m IENIRUNLIGNvbnN0cmFpbnRzIHRoYXQgZG8KKwkJCQkJCQkJCQkgKiBub3QgYmVsb25nIHRvIGEg cGVyaW9kICovCiAKIAkJLyogRG9uJ3QgYm90aGVyIHRvIGNvbGxlY3QgaW5mbyBmb3Igc2VxdWVu Y2VzICovCiAJCWlmICh0YmluZm8tPnJlbGtpbmQgPT0gUkVMS0lORF9TRVFVRU5DRSkKQEAgLTky OTMsNyArOTMwNiw4IEBAIGdldFRhYmxlQXR0cnMoQXJjaGl2ZSAqZm91dCwgVGFibGVJbmZvICp0 YmxpbmZvLCBpbnQgbnVtVGFibGVzKQogCQkJYXBwZW5kUFFFeHBCdWZmZXJDaGFyKHRibG9pZHMs ICcsJyk7CiAJCWFwcGVuZFBRRXhwQnVmZmVyKHRibG9pZHMsICIldSIsIHRiaW5mby0+ZG9iai5j YXRJZC5vaWQpOwogCi0JCWlmICh0YmluZm8tPm5jaGVjayA+IDApCisJCW5kdW1wYWJsZWNoZWNr cyA9IHRiaW5mby0+bmNoZWNrIC0gdGJpbmZvLT5ucGVyaW9kOworCQlpZiAobmR1bXBhYmxlY2hl Y2tzID4gMCkKIAkJewogCQkJLyogQWxzbyBtYWtlIGEgbGlzdCBvZiB0aGUgb25lcyB3aXRoIGNo ZWNrIGNvbnN0cmFpbnRzICovCiAJCQlpZiAoY2hlY2tvaWRzLT5sZW4gPiAxKSAvKiBkbyB3ZSBo YXZlIG1vcmUgdGhhbiB0aGUgJ3snPyAqLwpAQCAtOTgyOCwxNSArOTg0MiwzNiBAQCBnZXRUYWJs ZUF0dHJzKEFyY2hpdmUgKmZvdXQsIFRhYmxlSW5mbyAqdGJsaW5mbywgaW50IG51bVRhYmxlcykK IAkJcGdfbG9nX2luZm8oImZpbmRpbmcgdGFibGUgY2hlY2sgY29uc3RyYWludHMiKTsKIAogCQly ZXNldFBRRXhwQnVmZmVyKHEpOwotCQlhcHBlbmRQUUV4cEJ1ZmZlcihxLAotCQkJCQkJICAiU0VM RUNUIGMudGFibGVvaWQsIGMub2lkLCBjb25yZWxpZCwgY29ubmFtZSwgIgotCQkJCQkJICAicGdf Y2F0YWxvZy5wZ19nZXRfY29uc3RyYWludGRlZihjLm9pZCkgQVMgY29uc3JjLCAiCi0JCQkJCQkg ICJjb25pc2xvY2FsLCBjb252YWxpZGF0ZWQgIgotCQkJCQkJICAiRlJPTSB1bm5lc3QoJyVzJzo6 cGdfY2F0YWxvZy5vaWRbXSkgQVMgc3JjKHRibG9pZClcbiIKLQkJCQkJCSAgIkpPSU4gcGdfY2F0 YWxvZy5wZ19jb25zdHJhaW50IGMgT04gKHNyYy50YmxvaWQgPSBjLmNvbnJlbGlkKVxuIgotCQkJ CQkJICAiV0hFUkUgY29udHlwZSA9ICdjJyAiCi0JCQkJCQkgICJPUkRFUiBCWSBjLmNvbnJlbGlk LCBjLmNvbm5hbWUiLAotCQkJCQkJICBjaGVja29pZHMtPmRhdGEpOworCQlpZiAoZm91dC0+cmVt b3RlVmVyc2lvbiA+PSAxOTAwMDApCisJCXsKKwkJCS8qCisJCQkgKiBQRVJJT0RzIHdlcmUgYWRk ZWQgaW4gdjE5IGFuZCB3ZSBkb24ndCBkdW1wIENIRUNLIGNvbnN0cmFpbnRzCisJCQkgKiBmb3Ig dGhlbS4KKwkJCSAqLworCQkJYXBwZW5kUFFFeHBCdWZmZXIocSwKKwkJCQkJCQkgICJTRUxFQ1Qg Yy50YWJsZW9pZCwgYy5vaWQsIGNvbnJlbGlkLCBjb25uYW1lLCAiCisJCQkJCQkJICAicGdfY2F0 YWxvZy5wZ19nZXRfY29uc3RyYWludGRlZihjLm9pZCkgQVMgY29uc3JjLCAiCisJCQkJCQkJICAi Y29uaXNsb2NhbCwgY29udmFsaWRhdGVkICIKKwkJCQkJCQkgICJGUk9NIHVubmVzdCgnJXMnOjpw Z19jYXRhbG9nLm9pZFtdKSBBUyBzcmModGJsb2lkKVxuIgorCQkJCQkJCSAgIkpPSU4gcGdfY2F0 YWxvZy5wZ19jb25zdHJhaW50IGMgT04gKHNyYy50YmxvaWQgPSBjLmNvbnJlbGlkKVxuIgorCQkJ CQkJCSAgIldIRVJFIGNvbnR5cGUgPSAnYycgIgorCQkJCQkJCSAgIiAgIEFORCBOT1QgRVhJU1RT IChTRUxFQ1QgRlJPTSBwZ19wZXJpb2QgIgorCQkJCQkJCSAgIiAgICAgICAgICAgICAgICAgICBX SEVSRSAocGVycmVsaWQsIHBlcmNvbnN0cmFpbnQpID0gKGNvbnJlbGlkLCBjLm9pZCkpICIKKwkJ CQkJCQkgICJPUkRFUiBCWSBjLmNvbnJlbGlkLCBjLmNvbm5hbWUiLAorCQkJCQkJCSAgY2hlY2tv aWRzLT5kYXRhKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCWFwcGVuZFBRRXhwQnVmZmVyKHEsCisJ CQkJCQkJICAiU0VMRUNUIGMudGFibGVvaWQsIGMub2lkLCBjb25yZWxpZCwgY29ubmFtZSwgIgor CQkJCQkJCSAgInBnX2NhdGFsb2cucGdfZ2V0X2NvbnN0cmFpbnRkZWYoYy5vaWQpIEFTIGNvbnNy YywgIgorCQkJCQkJCSAgImNvbmlzbG9jYWwsIGNvbnZhbGlkYXRlZCAiCisJCQkJCQkJICAiRlJP TSB1bm5lc3QoJyVzJzo6cGdfY2F0YWxvZy5vaWRbXSkgQVMgc3JjKHRibG9pZClcbiIKKwkJCQkJ CQkgICJKT0lOIHBnX2NhdGFsb2cucGdfY29uc3RyYWludCBjIE9OIChzcmMudGJsb2lkID0gYy5j b25yZWxpZClcbiIKKwkJCQkJCQkgICJXSEVSRSBjb250eXBlID0gJ2MnICIKKwkJCQkJCQkgICJP UkRFUiBCWSBjLmNvbnJlbGlkLCBjLmNvbm5hbWUiLAorCQkJCQkJCSAgY2hlY2tvaWRzLT5kYXRh KTsKKwkJfQogCiAJCXJlcyA9IEV4ZWN1dGVTcWxRdWVyeShmb3V0LCBxLT5kYXRhLCBQR1JFU19U VVBMRVNfT0spOwogCkBAIC05ODU4LDYgKzk4OTMsNyBAQCBnZXRUYWJsZUF0dHJzKEFyY2hpdmUg KmZvdXQsIFRhYmxlSW5mbyAqdGJsaW5mbywgaW50IG51bVRhYmxlcykKIAkJCU9pZAkJCWNvbnJl bGlkID0gYXRvb2lkKFBRZ2V0dmFsdWUocmVzLCBqLCBpX2NvbnJlbGlkKSk7CiAJCQlUYWJsZUlu Zm8gICp0YmluZm8gPSBOVUxMOwogCQkJaW50CQkJbnVtY29uczsKKwkJCWludAkJCW5kdW1wYWJs ZWNoZWNrczsKIAogCQkJLyogQ291bnQgcm93cyBmb3IgdGhpcyB0YWJsZSAqLwogCQkJZm9yIChu dW1jb25zID0gMTsgbnVtY29ucyA8IG51bUNvbnN0cnMgLSBqOyBudW1jb25zKyspCkBAIC05ODc3 LDEyICs5OTEzLDEzIEBAIGdldFRhYmxlQXR0cnMoQXJjaGl2ZSAqZm91dCwgVGFibGVJbmZvICp0 YmxpbmZvLCBpbnQgbnVtVGFibGVzKQogCQkJaWYgKGN1cnRibGluZHggPj0gbnVtVGFibGVzKQog CQkJCXBnX2ZhdGFsKCJ1bnJlY29nbml6ZWQgdGFibGUgT0lEICV1IiwgY29ucmVsaWQpOwogCi0J CQlpZiAobnVtY29ucyAhPSB0YmluZm8tPm5jaGVjaykKKwkJCW5kdW1wYWJsZWNoZWNrcyA9IHRi aW5mby0+bmNoZWNrIC0gdGJpbmZvLT5ucGVyaW9kOworCQkJaWYgKG51bWNvbnMgIT0gbmR1bXBh YmxlY2hlY2tzKQogCQkJewogCQkJCXBnX2xvZ19lcnJvcihuZ2V0dGV4dCgiZXhwZWN0ZWQgJWQg Y2hlY2sgY29uc3RyYWludCBvbiB0YWJsZSBcIiVzXCIgYnV0IGZvdW5kICVkIiwKIAkJCQkJCQkJ CSAgImV4cGVjdGVkICVkIGNoZWNrIGNvbnN0cmFpbnRzIG9uIHRhYmxlIFwiJXNcIiBidXQgZm91 bmQgJWQiLAotCQkJCQkJCQkJICB0YmluZm8tPm5jaGVjayksCi0JCQkJCQkJIHRiaW5mby0+bmNo ZWNrLCB0YmluZm8tPmRvYmoubmFtZSwgbnVtY29ucyk7CisJCQkJCQkJCQkgIG5kdW1wYWJsZWNo ZWNrcyksCisJCQkJCQkJIG5kdW1wYWJsZWNoZWNrcywgdGJpbmZvLT5kb2JqLm5hbWUsIG51bWNv bnMpOwogCQkJCXBnX2xvZ19lcnJvcl9oaW50KCJUaGUgc3lzdGVtIGNhdGFsb2dzIG1pZ2h0IGJl IGNvcnJ1cHRlZC4iKTsKIAkJCQlleGl0X25pY2VseSgxKTsKIAkJCX0KQEAgLTk5NDEsNiArOTk3 OCw4MCBAQCBnZXRUYWJsZUF0dHJzKEFyY2hpdmUgKmZvdXQsIFRhYmxlSW5mbyAqdGJsaW5mbywg aW50IG51bVRhYmxlcykKIAkJUFFjbGVhcihyZXMpOwogCX0KIAorCWZvciAoaW50IGkgPSAwOyBp IDwgbnVtVGFibGVzOyBpKyspCisJeworCQlUYWJsZUluZm8gICp0YmluZm8gPSAmdGJsaW5mb1tp XTsKKworCQkvKgorCQkgKiBHZXQgaW5mbyBhYm91dCBQRVJJT0QgZGVmaW5pdGlvbnMKKwkJICov CisJCWlmICh0YmluZm8tPm5wZXJpb2QgPiAwKQorCQl7CisJCQlQZXJpb2RJbmZvICpwZXJpb2Rz OworCQkJaW50CQkJbnVtUGVyaW9kczsKKwkJCWludAkJCWo7CisKKwkJCS8qIFdlIHNob3VsZG4n dCBoYXZlIGFueSBwZXJpb2RzIGJlZm9yZSB2MTkgKi8KKwkJCUFzc2VydChmb3V0LT5yZW1vdGVW ZXJzaW9uID49IDE5MDAwMCk7CisKKwkJCXBnX2xvZ19pbmZvKCJmaW5kaW5nIHBlcmlvZHMgZm9y IHRhYmxlIFwiJXMuJXNcIiIsCisJCQkJCQl0YmluZm8tPmRvYmoubmFtZXNwYWNlLT5kb2JqLm5h bWUsCisJCQkJCQl0YmluZm8tPmRvYmoubmFtZSk7CisKKwkJCXJlc2V0UFFFeHBCdWZmZXIocSk7 CisJCQlhcHBlbmRQUUV4cEJ1ZmZlcihxLAorCQkJCQkJCSAgIlNFTEVDVCBwLnRhYmxlb2lkLCBw Lm9pZCwgcC5wZXJuYW1lLCAiCisJCQkJCQkJICAiICAgICAgIHNhLmF0dG5hbWUgQVMgcGVyc3Rh cnQsIGVhLmF0dG5hbWUgQVMgcGVyZW5kLCAiCisJCQkJCQkJICAiICAgICAgIHIudHlwbmFtZSBB UyBybmd0eXBlLCAiCisJCQkJCQkJICAiICAgICAgIGMuY29ubmFtZSBBUyBjb25uYW1lICIKKwkJ CQkJCQkgICJGUk9NIHBnX2NhdGFsb2cucGdfcGVyaW9kIEFTIHAgIgorCQkJCQkJCSAgIkpPSU4g cGdfY2F0YWxvZy5wZ19hdHRyaWJ1dGUgQVMgc2EgT04gKHNhLmF0dHJlbGlkLCBzYS5hdHRudW0p ID0gKHAucGVycmVsaWQsIHAucGVyc3RhcnQpICIKKwkJCQkJCQkgICJKT0lOIHBnX2NhdGFsb2cu cGdfYXR0cmlidXRlIEFTIGVhIE9OIChlYS5hdHRyZWxpZCwgZWEuYXR0bnVtKSA9IChwLnBlcnJl bGlkLCBwLnBlcmVuZCkgIgorCQkJCQkJCSAgIkpPSU4gcGdfY2F0YWxvZy5wZ19hdHRyaWJ1dGUg QVMgcmEgT04gKHJhLmF0dHJlbGlkLCByYS5hdHRudW0pID0gKHAucGVycmVsaWQsIHAucGVycmFu Z2UpICIKKwkJCQkJCQkgICJKT0lOIHBnX2NhdGFsb2cucGdfdHlwZSBBUyByIE9OIHIub2lkID0g cmEuYXR0dHlwaWQgIgorCQkJCQkJCSAgIkpPSU4gcGdfY2F0YWxvZy5wZ19jb25zdHJhaW50IEFT IGMgT04gYy5vaWQgPSBwLnBlcmNvbnN0cmFpbnQgIgorCQkJCQkJCSAgIldIRVJFIHAucGVycmVs aWQgPSAnJXUnOjpwZ19jYXRhbG9nLm9pZCAiCisJCQkJCQkJICAiT1JERVIgQlkgcC5wZXJuYW1l IiwKKwkJCQkJCQkgIHRiaW5mby0+ZG9iai5jYXRJZC5vaWQpOworCisJCQlyZXMgPSBFeGVjdXRl U3FsUXVlcnkoZm91dCwgcS0+ZGF0YSwgUEdSRVNfVFVQTEVTX09LKTsKKworCQkJLyoKKwkJCSAq IElmIHdlIGRpZG4ndCBnZXQgdGhlIG51bWJlciBvZiByb3dzIHdlIHRob3VnaHQgd2Ugd2VyZSBn b2luZworCQkJICogdG8sIHRoZW4gdGhvc2UgSk9JTnMgZGlkbid0IHdvcmsuCisJCQkgKi8KKwkJ CW51bVBlcmlvZHMgPSBQUW50dXBsZXMocmVzKTsKKwkJCWlmIChudW1QZXJpb2RzICE9IHRiaW5m by0+bnBlcmlvZCkKKwkJCXsKKwkJCQlwZ19sb2dfaW5mbyhuZ2V0dGV4dCgiZXhwZWN0ZWQgJWQg cGVyaW9kIG9uIHRhYmxlIFwiJXNcIiBidXQgZm91bmQgJWQiLAorCQkJCQkJCQkJICJleHBlY3Rl ZCAlZCBwZXJpb2RzIG9uIHRhYmxlIFwiJXNcIiBidXQgZm91bmQgJWQiLAorCQkJCQkJCQkJIHRi aW5mby0+bnBlcmlvZCksCisJCQkJCQkJdGJpbmZvLT5ucGVyaW9kLCB0YmluZm8tPmRvYmoubmFt ZSwgbnVtUGVyaW9kcyk7CisJCQkJcGdfbG9nX2luZm8oIihUaGUgc3lzdGVtIGNhdGFsb2dzIG1p Z2h0IGJlIGNvcnJ1cHRlZC4pIik7CisJCQkJZXhpdF9uaWNlbHkoMSk7CisJCQl9CisKKwkJCXBl cmlvZHMgPSAoUGVyaW9kSW5mbyAqKSBwZ19tYWxsb2MobnVtUGVyaW9kcyAqIHNpemVvZihQZXJp b2RJbmZvKSk7CisJCQl0YmluZm8tPnBlcmlvZHMgPSBwZXJpb2RzOworCisJCQlmb3IgKGogPSAw OyBqIDwgbnVtUGVyaW9kczsgaisrKQorCQkJeworCQkJCXBlcmlvZHNbal0uZG9iai5vYmpUeXBl ID0gRE9fUEVSSU9EOworCQkJCXBlcmlvZHNbal0uZG9iai5jYXRJZC50YWJsZW9pZCA9IGF0b29p ZChQUWdldHZhbHVlKHJlcywgaiwgMCkpOworCQkJCXBlcmlvZHNbal0uZG9iai5jYXRJZC5vaWQg PSBhdG9vaWQoUFFnZXR2YWx1ZShyZXMsIGosIDEpKTsKKwkJCQlBc3NpZ25EdW1wSWQoJnBlcmlv ZHNbal0uZG9iaik7CisJCQkJcGVyaW9kc1tqXS5kb2JqLm5hbWUgPSBwZ19zdHJkdXAoUFFnZXR2 YWx1ZShyZXMsIGosIDIpKTsKKwkJCQlwZXJpb2RzW2pdLmRvYmoubmFtZXNwYWNlID0gdGJpbmZv LT5kb2JqLm5hbWVzcGFjZTsKKwkJCQlwZXJpb2RzW2pdLnBlcnRhYmxlID0gdGJpbmZvOworCQkJ CXBlcmlvZHNbal0ucGVyc3RhcnQgPSBwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGosIDMpKTsK KwkJCQlwZXJpb2RzW2pdLnBlcmVuZCA9IHBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywgaiwgNCkp OworCQkJCXBlcmlvZHNbal0ucm5ndHlwZSA9IHBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywgaiwg NSkpOworCQkJCXBlcmlvZHNbal0uY29ubmFtZSA9IHBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywg aiwgNikpOworCQkJfQorCQkJUFFjbGVhcihyZXMpOworCQl9CisJfQorCiAJZGVzdHJveVBRRXhw QnVmZmVyKHEpOwogCWRlc3Ryb3lQUUV4cEJ1ZmZlcih0YmxvaWRzKTsKIAlkZXN0cm95UFFFeHBC dWZmZXIoY2hlY2tvaWRzKTsKQEAgLTExNzMxLDYgKzExODQyLDggQEAgZHVtcER1bXBhYmxlT2Jq ZWN0KEFyY2hpdmUgKmZvdXQsIER1bXBhYmxlT2JqZWN0ICpkb2JqKQogCQljYXNlIERPX0ZLX0NP TlNUUkFJTlQ6CiAJCQlkdW1wQ29uc3RyYWludChmb3V0LCAoY29uc3QgQ29uc3RyYWludEluZm8g KikgZG9iaik7CiAJCQlicmVhazsKKwkJY2FzZSBET19QRVJJT0Q6CisJCQlicmVhazsKIAkJY2Fz ZSBET19QUk9DTEFORzoKIAkJCWR1bXBQcm9jTGFuZyhmb3V0LCAoY29uc3QgUHJvY0xhbmdJbmZv ICopIGRvYmopOwogCQkJYnJlYWs7CkBAIC0xNzM4OCw2ICsxNzUwMSwzNiBAQCBkdW1wVGFibGVT Y2hlbWEoQXJjaGl2ZSAqZm91dCwgY29uc3QgVGFibGVJbmZvICp0YmluZm8pCiAJCQkJfQogCQkJ fQogCisJCQkvKgorCQkJICogQWRkIG5vbi1pbmhlcml0ZWQgUEVSSU9EIGRlZmluaXRpb25zLCBp ZiBhbnkuCisJCQkgKi8KKwkJCWZvciAoaiA9IDA7IGogPCB0YmluZm8tPm5wZXJpb2Q7IGorKykK KwkJCXsKKwkJCQlQZXJpb2RJbmZvICpwZXJpb2QgPSAmKHRiaW5mby0+cGVyaW9kc1tqXSk7CisK KwkJCQljaGFyCSAgICpuYW1lID0gcGdfc3RyZHVwKGZtdElkKHBlcmlvZC0+ZG9iai5uYW1lKSk7 CisJCQkJY2hhcgkgICAqc3RhcnQgPSBwZ19zdHJkdXAoZm10SWQocGVyaW9kLT5wZXJzdGFydCkp OworCQkJCWNoYXIJICAgKmVuZCA9IHBnX3N0cmR1cChmbXRJZChwZXJpb2QtPnBlcmVuZCkpOwor CQkJCWNoYXIJICAgKnJuZ3R5cGUgPSBwZ19zdHJkdXAoZm10SWQocGVyaW9kLT5ybmd0eXBlKSk7 CisJCQkJY2hhcgkgICAqY29ubmFtZSA9IHBnX3N0cmR1cChmbXRJZChwZXJpb2QtPmNvbm5hbWUp KTsKKworCQkJCWlmIChhY3R1YWxfYXR0cyA9PSAwKQorCQkJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0 cihxLCAiIChcbiAgICAiKTsKKwkJCQllbHNlCisJCQkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHEs ICIsXG4gICAgIik7CisKKwkJCQkvKgorCQkJCSAqIEFsd2F5cyBzYXkgY29sZXhpc3RzIHNvIHdl IGNhbiBqdXN0IHByaW50IHRoZSBHRU5FUkFURUQKKwkJCQkgKiBjb2x1bW4KKwkJCQkgKi8KKwkJ CQlhcHBlbmRQUUV4cEJ1ZmZlcihxLCAiUEVSSU9EIEZPUiAlcyAoJXMsICVzKSAiCisJCQkJCQkJ CSAgIldJVEggKHJhbmdldHlwZSA9ICVzLCBjaGVja19jb25zdHJhaW50X25hbWUgPSAlcywgY29s ZXhpc3RzID0gdHJ1ZSkiLAorCQkJCQkJCQkgIG5hbWUsIHN0YXJ0LCBlbmQsCisJCQkJCQkJCSAg cm5ndHlwZSwgY29ubmFtZSk7CisKKwkJCQlhY3R1YWxfYXR0cysrOworCQkJfQorCiAJCQkvKgog CQkJICogQWRkIG5vbi1pbmhlcml0ZWQgQ0hFQ0sgY29uc3RyYWludHMsIGlmIGFueS4KIAkJCSAq CkBAIC0xNzM5Niw3ICsxNzUzOSw3IEBAIGR1bXBUYWJsZVNjaGVtYShBcmNoaXZlICpmb3V0LCBj b25zdCBUYWJsZUluZm8gKnRiaW5mbykKIAkJCSAqIFBBUlRJVElPTiB0aGF0IHdlJ2xsIGVtaXQg bGF0ZXIgZXhwZWN0cyB0aGUgY29uc3RyYWludCB0byBiZQogCQkJICogdGhlcmUuICAoTm8gbmVl ZCB0byBmaXggY29uaXNsb2NhbDogQVRUQUNIIFBBUlRJVElPTiBkb2VzIHRoYXQpCiAJCQkgKi8K LQkJCWZvciAoaiA9IDA7IGogPCB0YmluZm8tPm5jaGVjazsgaisrKQorCQkJZm9yIChqID0gMDsg aiA8IHRiaW5mby0+bmNoZWNrIC0gdGJpbmZvLT5ucGVyaW9kOyBqKyspCiAJCQl7CiAJCQkJQ29u c3RyYWludEluZm8gKmNvbnN0ciA9ICYodGJpbmZvLT5jaGVja2V4cHJzW2pdKTsKIApAQCAtMTc3 MDgsNyArMTc4NTEsNyBAQCBkdW1wVGFibGVTY2hlbWEoQXJjaGl2ZSAqZm91dCwgY29uc3QgVGFi bGVJbmZvICp0YmluZm8pCiAJCQkgKi8KIAkJCXJlc2V0UFFFeHBCdWZmZXIoZXh0cmEpOwogCQkJ Zmlyc3RpdGVtID0gdHJ1ZTsKLQkJCWZvciAoayA9IDA7IGsgPCB0YmluZm8tPm5jaGVjazsgaysr KQorCQkJZm9yIChrID0gMDsgayA8IHRiaW5mby0+bmNoZWNrIC0gdGJpbmZvLT5ucGVyaW9kOyBr KyspCiAJCQl7CiAJCQkJQ29uc3RyYWludEluZm8gKmNvbnN0ciA9ICYodGJpbmZvLT5jaGVja2V4 cHJzW2tdKTsKIApAQCAtMTgwNTIsNyArMTgxOTUsNyBAQCBkdW1wVGFibGVTY2hlbWEoQXJjaGl2 ZSAqZm91dCwgY29uc3QgVGFibGVJbmZvICp0YmluZm8pCiAJfQogCiAJLyogRHVtcCBjb21tZW50 cyBvbiBpbmxpbmVkIHRhYmxlIGNvbnN0cmFpbnRzICovCi0JZm9yIChqID0gMDsgaiA8IHRiaW5m by0+bmNoZWNrOyBqKyspCisJZm9yIChqID0gMDsgaiA8IHRiaW5mby0+bmNoZWNrIC0gdGJpbmZv LT5ucGVyaW9kOyBqKyspCiAJewogCQlDb25zdHJhaW50SW5mbyAqY29uc3RyID0gJih0YmluZm8t PmNoZWNrZXhwcnNbal0pOwogCkBAIC0yMDE3Niw2ICsyMDMxOSw3IEBAIGFkZEJvdW5kYXJ5RGVw ZW5kZW5jaWVzKER1bXBhYmxlT2JqZWN0ICoqZG9ianMsIGludCBudW1PYmpzLAogCQkJY2FzZSBE T19UUklHR0VSOgogCQkJY2FzZSBET19FVkVOVF9UUklHR0VSOgogCQkJY2FzZSBET19ERUZBVUxU X0FDTDoKKwkJCWNhc2UgRE9fUEVSSU9EOgogCQkJY2FzZSBET19QT0xJQ1k6CiAJCQljYXNlIERP X1BVQkxJQ0FUSU9OOgogCQkJY2FzZSBET19QVUJMSUNBVElPTl9SRUw6CmRpZmYgLS1naXQgYS9z cmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaAppbmRl eCA3MmEwMGUxYmMyMC4uZDM3NmM4N2NkMDcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9w Z19kdW1wLmgKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaApAQCAtNjAsNiArNjAsNyBA QCB0eXBlZGVmIGVudW0KIAlET19UUklHR0VSLAogCURPX0NPTlNUUkFJTlQsCiAJRE9fRktfQ09O U1RSQUlOVCwJCQkvKiBzZWUgbm90ZSBmb3IgQ29uc3RyYWludEluZm8gKi8KKwlET19QRVJJT0Qs CiAJRE9fUFJPQ0xBTkcsCiAJRE9fQ0FTVCwKIAlET19UQUJMRV9EQVRBLApAQCAtMzIyLDEyICsz MjMsMTQgQEAgdHlwZWRlZiBzdHJ1Y3QgX3RhYmxlSW5mbwogCWJvb2wJCXJvd3NlYzsJCQkvKiBp cyByb3cgc2VjdXJpdHkgZW5hYmxlZD8gKi8KIAlib29sCQlmb3JjZXJvd3NlYzsJLyogaXMgcm93 IHNlY3VyaXR5IGZvcmNlZD8gKi8KIAlib29sCQloYXNvaWRzOwkJLyogZG9lcyBpdCBoYXZlIE9J RHM/ICovCisJYm9vbAkJaGFzcGVyaW9kczsJCS8qIGRvZXMgaXQgaGF2ZSBhbnkgcGVyaW9kcz8g Ki8KIAl1aW50MzIJCWZyb3plbnhpZDsJCS8qIHRhYmxlJ3MgcmVsZnJvemVueGlkICovCiAJdWlu dDMyCQltaW5teGlkOwkJLyogdGFibGUncyByZWxtaW5teGlkICovCiAJT2lkCQkJdG9hc3Rfb2lk OwkJLyogdG9hc3QgdGFibGUncyBPSUQsIG9yIDAgaWYgbm9uZSAqLwogCXVpbnQzMgkJdG9hc3Rf ZnJvemVueGlkOwkvKiB0b2FzdCB0YWJsZSdzIHJlbGZyb3plbnhpZCwgaWYgYW55ICovCiAJdWlu dDMyCQl0b2FzdF9taW5teGlkOwkvKiB0b2FzdCB0YWJsZSdzIHJlbG1pbm14aWQgKi8KIAlpbnQJ CQluY2hlY2s7CQkJLyogIyBvZiBDSEVDSyBleHByZXNzaW9ucyAqLworCWludAkJCW5wZXJpb2Q7 CQkvKiAjIG9mIFBFUklPRCBkZWZpbml0aW9ucyAqLwogCU9pZAkJCXJlbHR5cGU7CQkvKiBPSUQg b2YgdGFibGUncyBjb21wb3NpdGUgdHlwZSwgaWYgYW55ICovCiAJT2lkCQkJcmVsb2Z0eXBlOwkJ LyogdW5kZXJseWluZyB0eXBlIGZvciB0eXBlZCB0YWJsZSAqLwogCU9pZAkJCWZvcmVpZ25fc2Vy dmVyOyAvKiBmb3JlaWduIHNlcnZlciBvaWQsIGlmIGFwcGxpY2FibGUgKi8KQEAgLTM1OCw2ICsz NjEsNyBAQCB0eXBlZGVmIHN0cnVjdCBfdGFibGVJbmZvCiAJY2hhcgkgICAqYXR0c3RvcmFnZTsJ CS8qIGF0dHJpYnV0ZSBzdG9yYWdlIHNjaGVtZSAqLwogCWNoYXIJICAgKnR5cHN0b3JhZ2U7CQkv KiB0eXBlIHN0b3JhZ2Ugc2NoZW1lICovCiAJYm9vbAkgICAqYXR0aXNkcm9wcGVkOwkvKiB0cnVl IGlmIGF0dHIgaXMgZHJvcHBlZDsgZG9uJ3QgZHVtcCBpdCAqLworCWJvb2wJICAgKmF0dGlzcGVy aW9kOwkvKiB0cnVlIGlmIGF0dHIgaXMgYSBQRVJJT0Q7IGRvbid0IGR1bXAgaXQgKi8KIAljaGFy CSAgICphdHRpZGVudGl0eTsKIAljaGFyCSAgICphdHRnZW5lcmF0ZWQ7CiAJaW50CQkgICAqYXR0 bGVuOwkJCS8qIGF0dHJpYnV0ZSBsZW5ndGgsIHVzZWQgYnkgYmluYXJ5X3VwZ3JhZGUgKi8KQEAg LTM3OSw2ICszODMsNyBAQCB0eXBlZGVmIHN0cnVjdCBfdGFibGVJbmZvCiAJc3RydWN0IF9hdHRy RGVmSW5mbyAqKmF0dHJkZWZzOyAvKiBERUZBVUxUIGV4cHJlc3Npb25zICovCiAJc3RydWN0IF9j b25zdHJhaW50SW5mbyAqY2hlY2tleHByczsgLyogQ0hFQ0sgY29uc3RyYWludHMgKi8KIAlzdHJ1 Y3QgX3JlbFN0YXRzSW5mbyAqc3RhdHM7CS8qIG9ubHkgc2V0IGZvciBtYXR2aWV3cyAqLworCXN0 cnVjdCBfcGVyaW9kSW5mbyAqcGVyaW9kczsJLyogUEVSSU9EIGRlZmluaXRpb25zICovCiAJYm9v bAkJbmVlZHNfb3ZlcnJpZGU7IC8qIGhhcyBHRU5FUkFURUQgQUxXQVlTIEFTIElERU5USVRZICov CiAJY2hhcgkgICAqYW1uYW1lOwkJCS8qIHJlbGF0aW9uIGFjY2VzcyBtZXRob2QgKi8KIApAQCAt NTI4LDYgKzUzMywxNiBAQCB0eXBlZGVmIHN0cnVjdCBfY29uc3RyYWludEluZm8KIAlib29sCQlz ZXBhcmF0ZTsJCS8qIHRydWUgaWYgbXVzdCBkdW1wIGFzIHNlcGFyYXRlIGl0ZW0gKi8KIH0gQ29u c3RyYWludEluZm87CiAKK3R5cGVkZWYgc3RydWN0IF9wZXJpb2RJbmZvCit7CisJRHVtcGFibGVP YmplY3QgZG9iajsKKwlUYWJsZUluZm8gICpwZXJ0YWJsZTsKKwljaGFyCSAgICpwZXJzdGFydDsJ CS8qIHRoZSBuYW1lIG9mIHRoZSBzdGFydCBjb2x1bW4gKi8KKwljaGFyCSAgICpwZXJlbmQ7CQkJ LyogdGhlIG5hbWUgb2YgdGhlIGVuZCBjb2x1bW4gKi8KKwljaGFyCSAgICpybmd0eXBlOwkJLyog dGhlIG5hbWUgb2YgdGhlIHJhbmdlIHR5cGUgKi8KKwljaGFyCSAgICpjb25uYW1lOwkJLyogdGhl IG5hbWUgb2YgdGhlIENIRUNLIGNvbnN0cmFpbnQgKi8KK30gUGVyaW9kSW5mbzsKKwogdHlwZWRl ZiBzdHJ1Y3QgX3Byb2NMYW5nSW5mbwogewogCUR1bXBhYmxlT2JqZWN0IGRvYmo7CmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcF9zb3J0LmMgYi9zcmMvYmluL3BnX2R1bXAvcGdf ZHVtcF9zb3J0LmMKaW5kZXggMTY0Yzc2ZTA4NjQuLmViYzIwYTIyNmM3IDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX2R1bXAvcGdfZHVtcF9zb3J0LmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXBfc29ydC5jCkBAIC04Niw2ICs4Niw3IEBAIGVudW0gZGJPYmplY3RUeXBlUHJpb3JpdGllcwog CVBSSU9fQ09OU1RSQUlOVCwKIAlQUklPX0lOREVYLAogCVBSSU9fSU5ERVhfQVRUQUNILAorCVBS SU9fUEVSSU9ELAogCVBSSU9fU1RBVFNFWFQsCiAJUFJJT19SVUxFLAogCVBSSU9fVFJJR0dFUiwK QEAgLTEyMSw2ICsxMjIsNyBAQCBzdGF0aWMgY29uc3QgaW50IGRiT2JqZWN0VHlwZVByaW9yaXR5 W10gPQogCVtET19BVFRSREVGXSA9IFBSSU9fQVRUUkRFRiwKIAlbRE9fSU5ERVhdID0gUFJJT19J TkRFWCwKIAlbRE9fSU5ERVhfQVRUQUNIXSA9IFBSSU9fSU5ERVhfQVRUQUNILAorCVtET19QRVJJ T0RdID0gUFJJT19QRVJJT0QsCiAJW0RPX1NUQVRTRVhUXSA9IFBSSU9fU1RBVFNFWFQsCiAJW0RP X1JVTEVdID0gUFJJT19SVUxFLAogCVtET19UUklHR0VSXSA9IFBSSU9fVFJJR0dFUiwKQEAgLTQ1 NCw2ICs0NTYsMjMgQEAgRE9UeXBlTmFtZUNvbXBhcmUoY29uc3Qgdm9pZCAqcDEsIGNvbnN0IHZv aWQgKnAyKQogCQlpZiAoY21wdmFsICE9IDApCiAJCQlyZXR1cm4gY21wdmFsOwogCX0KKwllbHNl IGlmIChvYmoxLT5vYmpUeXBlID09IERPX1BFUklPRCkKKwl7CisJCVBlcmlvZEluZm8gKnBvYmox ID0gKihQZXJpb2RJbmZvICpjb25zdCAqKSBwMTsKKwkJUGVyaW9kSW5mbyAqcG9iajIgPSAqKFBl cmlvZEluZm8gKmNvbnN0ICopIHAyOworCisJCS8qIFNvcnQgYnkgdGFibGUgbmFtZXNwYWNlIC4g LiAuICovCisJCWNtcHZhbCA9IHN0cmNtcChwb2JqMS0+cGVydGFibGUtPmRvYmoubmFtZXNwYWNl LT5kb2JqLm5hbWUsCisJCQkJCQlwb2JqMi0+cGVydGFibGUtPmRvYmoubmFtZXNwYWNlLT5kb2Jq Lm5hbWUpOworCQlpZiAoY21wdmFsICE9IDApCisJCQlyZXR1cm4gY21wdmFsOworCisJCS8qIC4g LiAuIGFuZCB0YWJsZSBuYW1lICovCisJCWNtcHZhbCA9IHN0cmNtcChwb2JqMS0+cGVydGFibGUt PmRvYmoubmFtZSwKKwkJCQkJCXBvYmoyLT5wZXJ0YWJsZS0+ZG9iai5uYW1lKTsKKwkJaWYgKGNt cHZhbCAhPSAwKQorCQkJcmV0dXJuIGNtcHZhbDsKKwl9CiAKIAkvKgogCSAqIFNob3VsZG4ndCBn ZXQgaGVyZSBleGNlcHQgYWZ0ZXIgY2F0YWxvZyBjb3JydXB0aW9uLCBidXQgaWYgd2UgZG8sIHNv cnQKQEAgLTE2MjYsNiArMTY0NSwxMSBAQCBkZXNjcmliZUR1bXBhYmxlT2JqZWN0KER1bXBhYmxl T2JqZWN0ICpvYmosIGNoYXIgKmJ1ZiwgaW50IGJ1ZnNpemUpCiAJCQkJCSAiRksgQ09OU1RSQUlO VCAlcyAgKElEICVkIE9JRCAldSkiLAogCQkJCQkgb2JqLT5uYW1lLCBvYmotPmR1bXBJZCwgb2Jq LT5jYXRJZC5vaWQpOwogCQkJcmV0dXJuOworCQljYXNlIERPX1BFUklPRDoKKwkJCXNucHJpbnRm KGJ1ZiwgYnVmc2l6ZSwKKwkJCQkJICJQRVJJT0QgJXMgIChJRCAlZCBPSUQgJXUpIiwKKwkJCQkJ IG9iai0+bmFtZSwgb2JqLT5kdW1wSWQsIG9iai0+Y2F0SWQub2lkKTsKKwkJCXJldHVybjsKIAkJ Y2FzZSBET19QUk9DTEFORzoKIAkJCXNucHJpbnRmKGJ1ZiwgYnVmc2l6ZSwKIAkJCQkJICJQUk9D RURVUkFMIExBTkdVQUdFICVzICAoSUQgJWQgT0lEICV1KSIsCmRpZmYgLS1naXQgYS9zcmMvYmlu L3BzcWwvZGVzY3JpYmUuYyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jCmluZGV4IDM2ZjI0NTAy ODQyLi5mMzViMGE5ZTM2NyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKKysr IGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKQEAgLTIwMjQsNiArMjAyNCw4IEBAIGRlc2NyaWJl T25lVGFibGVEZXRhaWxzKGNvbnN0IGNoYXIgKnNjaGVtYW5hbWUsCiAKIAlhcHBlbmRQUUV4cEJ1 ZmZlclN0cigmYnVmLCAiXG5GUk9NIHBnX2NhdGFsb2cucGdfYXR0cmlidXRlIGEiKTsKIAlhcHBl bmRQUUV4cEJ1ZmZlcigmYnVmLCAiXG5XSEVSRSBhLmF0dHJlbGlkID0gJyVzJyBBTkQgYS5hdHRu dW0gPiAwIEFORCBOT1QgYS5hdHRpc2Ryb3BwZWQiLCBvaWQpOworCWlmIChwc2V0LnN2ZXJzaW9u ID49IDE4MDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwgIlxuQU5EIE5PVCBFWElTVFMg KFNFTEVDVCAxIEZST00gcGdfY2F0YWxvZy5wZ19wZXJpb2QgcCBXSEVSRSBwLnBlcnJlbGlkID0g YS5hdHRyZWxpZCBBTkQgcC5wZXJyYW5nZSA9IGEuYXR0bnVtKSIpOwogCWFwcGVuZFBRRXhwQnVm ZmVyU3RyKCZidWYsICJcbk9SREVSIEJZIGEuYXR0bnVtOyIpOwogCiAJcmVzID0gUFNRTGV4ZWMo YnVmLmRhdGEpOwpAQCAtMjQ1Miw2ICsyNDU0LDQwIEBAIGRlc2NyaWJlT25lVGFibGVEZXRhaWxz KGNvbnN0IGNoYXIgKnNjaGVtYW5hbWUsCiAJCVBHcmVzdWx0ICAgKnJlc3VsdCA9IE5VTEw7CiAJ CWludAkJCXR1cGxlcyA9IDA7CiAKKwkJLyogcHJpbnQgcGVyaW9kcyAqLworCQlpZiAocHNldC5z dmVyc2lvbiA+PSAxODAwMDApCisJCXsKKwkJCXByaW50ZlBRRXhwQnVmZmVyKCZidWYsCisJCQkJ CQkJICAiU0VMRUNUIHF1b3RlX2lkZW50KHAucGVybmFtZSksIHF1b3RlX2lkZW50KHMuYXR0bmFt ZSkgQVMgc3RhcnRhdHQsIHF1b3RlX2lkZW50KGUuYXR0bmFtZSkgQVMgZW5kYXR0XG4iCisJCQkJ CQkJICAiRlJPTSBwZ19wZXJpb2QgQVMgcFxuIgorCQkJCQkJCSAgIkpPSU4gcGdfYXR0cmlidXRl IEFTIHMgT04gKHMuYXR0cmVsaWQsIHMuYXR0bnVtKSA9IChwLnBlcnJlbGlkLCBwLnBlcnN0YXJ0 KVxuIgorCQkJCQkJCSAgIkpPSU4gcGdfYXR0cmlidXRlIEFTIGUgT04gKGUuYXR0cmVsaWQsIGUu YXR0bnVtKSA9IChwLnBlcnJlbGlkLCBwLnBlcmVuZClcbiIKKwkJCQkJCQkgICJXSEVSRSBwLnBl cnJlbGlkID0gJyVzJ1xuIgorCQkJCQkJCSAgIk9SREVSIEJZIDE7IiwKKwkJCQkJCQkgIG9pZCk7 CisJCQlyZXN1bHQgPSBQU1FMZXhlYyhidWYuZGF0YSk7CisJCQlpZiAoIXJlc3VsdCkKKwkJCQln b3RvIGVycm9yX3JldHVybjsKKwkJCWVsc2UKKwkJCQl0dXBsZXMgPSBQUW50dXBsZXMocmVzdWx0 KTsKKworCQkJaWYgKHR1cGxlcyA+IDApCisJCQl7CisJCQkJcHJpbnRUYWJsZUFkZEZvb3Rlcigm Y29udCwgXygiUGVyaW9kczoiKSk7CisJCQkJZm9yIChpID0gMDsgaSA8IHR1cGxlczsgaSsrKQor CQkJCXsKKwkJCQkJLyogdW50cmFuc2xhdGVkIGNvbnN0cmFpbnQgbmFtZSBhbmQgZGVmICovCisJ CQkJCXByaW50ZlBRRXhwQnVmZmVyKCZidWYsICIgICAgJXMgKCVzLCAlcykiLAorCQkJCQkJCQkJ ICBQUWdldHZhbHVlKHJlc3VsdCwgaSwgMCksCisJCQkJCQkJCQkgIFBRZ2V0dmFsdWUocmVzdWx0 LCBpLCAxKSwKKwkJCQkJCQkJCSAgUFFnZXR2YWx1ZShyZXN1bHQsIGksIDIpKTsKKworCQkJCQlw cmludFRhYmxlQWRkRm9vdGVyKCZjb250LCBidWYuZGF0YSk7CisJCQkJfQorCQkJfQorCQkJUFFj bGVhcihyZXN1bHQpOworCQl9CisKIAkJLyogcHJpbnQgaW5kZXhlcyAqLwogCQlpZiAodGFibGVp bmZvLmhhc2luZGV4KQogCQl7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL01ha2Vm aWxlIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9NYWtlZmlsZQppbmRleCAyYmJjNzgwNWZlMy4uYjlh ZWUyY2E0OWUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvTWFrZWZpbGUKKysrIGIv c3JjL2luY2x1ZGUvY2F0YWxvZy9NYWtlZmlsZQpAQCAtNjUsNiArNjUsNyBAQCBDQVRBTE9HX0hF QURFUlMgOj0gXAogCXBnX2ZvcmVpZ25fc2VydmVyLmggXAogCXBnX3VzZXJfbWFwcGluZy5oIFwK IAlwZ19mb3JlaWduX3RhYmxlLmggXAorCXBnX3BlcmlvZC5oIFwKIAlwZ19wb2xpY3kuaCBcCiAJ cGdfcmVwbGljYXRpb25fb3JpZ2luLmggXAogCXBnX2RlZmF1bHRfYWNsLmggXApkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9oZWFwLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL2hlYXAu aAppbmRleCBkYmQzMzllOWRmNC4uM2VjNWE1ODNkNzggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvaGVhcC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvaGVhcC5oCkBAIC0xMjUs NiArMTI1LDEwIEBAIGV4dGVybiB2b2lkIFN0b3JlQXR0ck1pc3NpbmdWYWwoUmVsYXRpb24gcmVs LCBBdHRyTnVtYmVyIGF0dG51bSwKIAkJCQkJCQkJRGF0dW0gbWlzc2luZ3ZhbCk7CiBleHRlcm4g dm9pZCBTZXRBdHRyTWlzc2luZyhPaWQgcmVsaWQsIGNoYXIgKmF0dG5hbWUsIGNoYXIgKnZhbHVl KTsKIAorZXh0ZXJuIE9pZAlTdG9yZVBlcmlvZChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBl cmlvZCwKKwkJCQkJCUF0dHJOdW1iZXIgc3RhcnRudW0sIEF0dHJOdW1iZXIgZW5kbnVtLAorCQkJ CQkJQXR0ck51bWJlciByYW5nZW51bSwgT2lkIGNvbm9pZCk7CisKIGV4dGVybiBOb2RlICpjb29r RGVmYXVsdChQYXJzZVN0YXRlICpwc3RhdGUsCiAJCQkJCQkgTm9kZSAqcmF3X2RlZmF1bHQsCiAJ CQkJCQkgT2lkIGF0dHR5cGlkLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNv bi5idWlsZCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24uYnVpbGQKaW5kZXggZWMxY2Y0Njdm NmYuLjg3Y2I0Y2UzMzAwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL21lc29uLmJ1 aWxkCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvbWVzb24uYnVpbGQKQEAgLTYxLDYgKzYxLDcg QEAgY2F0YWxvZ19oZWFkZXJzID0gWwogICAncGdfY29sbGF0aW9uLmgnLAogICAncGdfcGFyYW1l dGVyX2FjbC5oJywKICAgJ3BnX3BhcnRpdGlvbmVkX3RhYmxlLmgnLAorICAncGdfcGVyaW9kLmgn LAogICAncGdfcmFuZ2UuaCcsCiAgICdwZ190cmFuc2Zvcm0uaCcsCiAgICdwZ19zZXF1ZW5jZS5o JywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3RyYWludC5oIGIvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19jb25zdHJhaW50LmgKaW5kZXggZjhhMDFkODk2MTcuLjJmN2Y5 YTU0YzJlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaAor KysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaApAQCAtMjY2LDcgKzI2Niw4 IEBAIGV4dGVybiBBdHRyTnVtYmVyIGV4dHJhY3ROb3ROdWxsQ29sdW1uKEhlYXBUdXBsZSBjb25z dHJUdXApOwogZXh0ZXJuIGJvb2wgQWRqdXN0Tm90TnVsbEluaGVyaXRhbmNlKE9pZCByZWxpZCwg QXR0ck51bWJlciBhdHRudW0sCiAJCQkJCQkJCQkgYm9vbCBpc19sb2NhbCwgYm9vbCBpc19ub19p bmhlcml0LCBib29sIGlzX25vdHZhbGlkKTsKIGV4dGVybiBMaXN0ICpSZWxhdGlvbkdldE5vdE51 bGxDb25zdHJhaW50cyhPaWQgcmVsaWQsIGJvb2wgY29va2VkLAotCQkJCQkJCQkJCSAgIGJvb2wg aW5jbHVkZV9ub2luaCk7CisJCQkJCQkJCQkJICAgYm9vbCBpbmNsdWRlX25vaW5oLAorCQkJCQkJ CQkJCSAgIEJpdG1hcHNldCAqZXhjbHVkZXMpOwogCiBleHRlcm4gdm9pZCBSZW1vdmVDb25zdHJh aW50QnlJZChPaWQgY29uSWQpOwogZXh0ZXJuIHZvaWQgUmVuYW1lQ29uc3RyYWludEJ5SWQoT2lk IGNvbklkLCBjb25zdCBjaGFyICpuZXduYW1lKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfaW5kZXguaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfaW5kZXguaAppbmRleCA3 MzFkMzkzODE2OS4uODkwZmY1NTExNzYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv cGdfaW5kZXguaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmgKQEAgLTQ4LDcg KzQ4LDYgQEAgQ0FUQUxPRyhwZ19pbmRleCwyNjEwLEluZGV4UmVsYXRpb25JZCkgQktJX1NDSEVN QV9NQUNSTwogCS8qIHZhcmlhYmxlLWxlbmd0aCBmaWVsZHMgc3RhcnQgaGVyZSwgYnV0IHdlIGFs bG93IGRpcmVjdCBhY2Nlc3MgdG8gaW5ka2V5ICovCiAJaW50MnZlY3RvcglpbmRrZXkgQktJX0ZP UkNFX05PVF9OVUxMOwkvKiBjb2x1bW4gbnVtYmVycyBvZiBpbmRleGVkIGNvbHMsCiAJCQkJCQkJ CQkJCSAqIG9yIDAgKi8KLQogI2lmZGVmIENBVEFMT0dfVkFSTEVOCiAJb2lkdmVjdG9yCWluZGNv bGxhdGlvbiBCS0lfTE9PS1VQX09QVChwZ19jb2xsYXRpb24pIEJLSV9GT1JDRV9OT1RfTlVMTDsJ LyogY29sbGF0aW9uIGlkZW50aWZpZXJzICovCiAJb2lkdmVjdG9yCWluZGNsYXNzIEJLSV9MT09L VVAocGdfb3BjbGFzcykgQktJX0ZPUkNFX05PVF9OVUxMOyAvKiBvcGNsYXNzIGlkZW50aWZpZXJz ICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3BlcmlvZC5oIGIvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19wZXJpb2QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMC4uNjVhNzRkZmExOGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5jbHVkZS9jYXRh bG9nL3BnX3BlcmlvZC5oCkBAIC0wLDAgKzEsNTggQEAKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoK KyAqIHBnX3BlcmlvZC5oCisgKgkgIGRlZmluaXRpb24gb2YgdGhlICJwZXJpb2QiIHN5c3RlbSBj YXRhbG9nIChwZ19wZXJpb2QpCisgKgorICoKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5 Ni0yMDIxLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICoKKyAqIHNyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcGVyaW9kLmgKKyAqCisgKiBOT1RFUworICoJICBUaGUgQ2F0YWxv Zy5wbSBtb2R1bGUgcmVhZHMgdGhpcyBmaWxlIGFuZCBkZXJpdmVzIHNjaGVtYQorICoJICBpbmZv cm1hdGlvbi4KKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2lmbmRlZiBQR19QRVJJT0Rf SAorI2RlZmluZSBQR19QRVJJT0RfSAorCisjaW5jbHVkZSAiY2F0YWxvZy9nZW5ia2kuaCIKKyNp bmNsdWRlICJjYXRhbG9nL3BnX3BlcmlvZF9kLmgiCisjaW5jbHVkZSAibm9kZXMvYml0bWFwc2V0 LmgiCisKKy8qIC0tLS0tLS0tLS0tLS0tLS0KKyAqCQlwZ19wZXJpb2QgZGVmaW5pdGlvbi4gIGNw cCB0dXJucyB0aGlzIGludG8KKyAqCQl0eXBlZGVmIHN0cnVjdCBGb3JtRGF0YV9wZ19wZXJpb2QK KyAqIC0tLS0tLS0tLS0tLS0tLS0KKyAqLworQ0FUQUxPRyhwZ19wZXJpb2QsODAwMCxQZXJpb2RS ZWxhdGlvbklkKQoreworCU9pZAkJCW9pZDsJCQkvKiBPSUQgb2YgdGhlIHBlcmlvZCAqLworCU5h bWVEYXRhCXBlcm5hbWU7CQkvKiBuYW1lIG9mIHBlcmlvZCAqLworCU9pZAkJCXBlcnJlbGlkOwkJ LyogT0lEIG9mIHJlbGF0aW9uIGNvbnRhaW5pbmcgdGhpcyBwZXJpb2QgKi8KKwlpbnQxNgkJcGVy c3RhcnQ7CQkvKiBjb2x1bW4gZm9yIHN0YXJ0IHZhbHVlICovCisJaW50MTYJCXBlcmVuZDsJCQkv KiBjb2x1bW4gZm9yIGVuZCB2YWx1ZSAqLworCWludDE2CQlwZXJyYW5nZTsJCS8qIGNvbHVtbiBm b3IgcmFuZ2UgdmFsdWUgKi8KKwlPaWQJCQlwZXJjb25zdHJhaW50OwkvKiBPSUQgb2YgKHN0YXJ0 IDwgZW5kKSBjb25zdHJhaW50ICovCit9IEZvcm1EYXRhX3BnX3BlcmlvZDsKKworLyogLS0tLS0t LS0tLS0tLS0tLQorICoJCUZvcm1fcGdfcGVyaW9kIGNvcnJlc3BvbmRzIHRvIGEgcG9pbnRlciB0 byBhIHR1cGxlIHdpdGgKKyAqCQl0aGUgZm9ybWF0IG9mIHBnX3BlcmlvZCByZWxhdGlvbi4KKyAq IC0tLS0tLS0tLS0tLS0tLS0KKyAqLwordHlwZWRlZiBGb3JtRGF0YV9wZ19wZXJpb2QgKkZvcm1f cGdfcGVyaW9kOworCitERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3BlcmlvZF9vaWRfaW5k ZXgsIDgwMDEsIFBlcmlvZE9iamVjdEluZGV4SWQsIHBnX3BlcmlvZCwgYnRyZWUob2lkIG9pZF9v cHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3BlcmlvZF9wZXJyZWxpZF9wZXJuYW1lX2lu ZGV4LCA4MDAyLCBQZXJpb2RSZWxpZE5hbWVJbmRleElkLCBwZ19wZXJpb2QsIGJ0cmVlKHBlcnJl bGlkIG9pZF9vcHMsIHBlcm5hbWUgbmFtZV9vcHMpKTsKKworTUFLRV9TWVNDQUNIRShQRVJJT0RP SUQsIHBnX3BlcmlvZF9vaWRfaW5kZXgsIDMyKTsKK01BS0VfU1lTQ0FDSEUoUEVSSU9ETkFNRSwg cGdfcGVyaW9kX3BlcnJlbGlkX3Blcm5hbWVfaW5kZXgsIDMyKTsKKworZXh0ZXJuIHZvaWQgUmVt b3ZlUGVyaW9kQnlJZChPaWQgcGVyaW9kSWQpOworCitleHRlcm4gT2lkCWdldF9yZWxhdGlvbl9w ZXJpb2Rfb2lkKE9pZCByZWxpZCwgY29uc3QgY2hhciAqcGVybmFtZSwgYm9vbCBtaXNzaW5nX29r KTsKK2V4dGVybiBCaXRtYXBzZXQgKmdldF9wZXJpb2RfYXR0bm9zKE9pZCByZWxpZCk7CisKKyNl bmRpZgkJCQkJCQkvKiBQR19QRVJJT0RfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19yYW5nZS5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19yYW5nZS5oCmluZGV4IDNi YmE2MTYyNzgyLi44OWU2MGQ2Y2JmMSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9w Z19yYW5nZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcmFuZ2UuaApAQCAtNTksOCAr NTksMTAgQEAgdHlwZWRlZiBGb3JtRGF0YV9wZ19yYW5nZSAqRm9ybV9wZ19yYW5nZTsKIAogREVD TEFSRV9VTklRVUVfSU5ERVhfUEtFWShwZ19yYW5nZV9ybmd0eXBpZF9pbmRleCwgMzU0MiwgUmFu Z2VUeXBpZEluZGV4SWQsIHBnX3JhbmdlLCBidHJlZShybmd0eXBpZCBvaWRfb3BzKSk7CiBERUNM QVJFX1VOSVFVRV9JTkRFWChwZ19yYW5nZV9ybmdtdWx0aXR5cGlkX2luZGV4LCAyMjI4LCBSYW5n ZU11bHRpcmFuZ2VUeXBpZEluZGV4SWQsIHBnX3JhbmdlLCBidHJlZShybmdtdWx0aXR5cGlkIG9p ZF9vcHMpKTsKK0RFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3JhbmdlX3JuZ3N1YnR5cGVfcm5ndHlw aWRfaW5kZXgsIDgwMDMsIFJhbmdlU3ViVHlwaWRUeXBpZEluZGV4SWQsIHBnX3JhbmdlLCBidHJl ZShybmdzdWJ0eXBlIG9pZF9vcHMsIHJuZ3R5cGlkIG9pZF9vcHMpKTsKIAogTUFLRV9TWVNDQUNI RShSQU5HRVRZUEUsIHBnX3JhbmdlX3JuZ3R5cGlkX2luZGV4LCA0KTsKK01BS0VfU1lTQ0FDSEUo UkFOR0VTVUJUWVBFLCBwZ19yYW5nZV9ybmdzdWJ0eXBlX3JuZ3R5cGlkX2luZGV4LCA0KTsKIE1B S0VfU1lTQ0FDSEUoUkFOR0VNVUxUSVJBTkdFLCBwZ19yYW5nZV9ybmdtdWx0aXR5cGlkX2luZGV4 LCA0KTsKIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5o IGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFibGVjbWRzLmgKaW5kZXggZTliMGZhYjA3NjcuLmJm OGQ2ZTMzMTgzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaAor KysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaApAQCAtNDEsNyArNDEsOCBAQCBl eHRlcm4gTE9DS01PREUgQWx0ZXJUYWJsZUdldExvY2tMZXZlbChMaXN0ICpjbWRzKTsKIAogZXh0 ZXJuIHZvaWQgQVRFeGVjQ2hhbmdlT3duZXIoT2lkIHJlbGF0aW9uT2lkLCBPaWQgbmV3T3duZXJJ ZCwgYm9vbCByZWN1cnNpbmcsIExPQ0tNT0RFIGxvY2ttb2RlKTsKIAotZXh0ZXJuIHZvaWQgQWx0 ZXJUYWJsZUludGVybmFsKE9pZCByZWxpZCwgTGlzdCAqY21kcywgYm9vbCByZWN1cnNlKTsKK2V4 dGVybiB2b2lkIEFsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQsIExpc3QgKmNtZHMsIGJvb2wg cmVjdXJzZSwKKwkJCQkJCQkgICBzdHJ1Y3QgQWx0ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250 ZXh0KTsKIAogZXh0ZXJuIE9pZAlBbHRlclRhYmxlTW92ZUFsbChBbHRlclRhYmxlTW92ZUFsbFN0 bXQgKnN0bXQpOwogCkBAIC0xMDcsNSArMTA4LDYgQEAgZXh0ZXJuIHZvaWQgUmFuZ2VWYXJDYWxs YmFja093bnNSZWxhdGlvbihjb25zdCBSYW5nZVZhciAqcmVsYXRpb24sCiAJCQkJCQkJCQkJIE9p ZCByZWxJZCwgT2lkIG9sZFJlbElkLCB2b2lkICphcmcpOwogZXh0ZXJuIGJvb2wgUGFydENvbnN0 cmFpbnRJbXBsaWVkQnlSZWxDb25zdHJhaW50KFJlbGF0aW9uIHNjYW5yZWwsCiAJCQkJCQkJCQkJ CQkgTGlzdCAqcGFydENvbnN0cmFpbnQpOworZXh0ZXJuIE9pZAljaG9vc2VfcmFuZ2V0eXBlX2Zv cl9wZXJpb2QoUGVyaW9kRGVmICpwZXJpb2QpOwogCiAjZW5kaWYJCQkJCQkJLyogVEFCTEVDTURT X0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oIGIvc3JjL2lu Y2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgKaW5kZXggNzdjOTQ2OTEzOWIuLmEwZmI1NmQ2M2ZkIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaAorKysgYi9zcmMvaW5jbHVk ZS9ub2Rlcy9leGVjbm9kZXMuaApAQCAtNDY1LDYgKzQ2NSwxMCBAQCB0eXBlZGVmIHN0cnVjdCBG b3JQb3J0aW9uT2ZTdGF0ZQogCWNoYXIJICAgKmZwX3JhbmdlTmFtZTsJLyogdGhlIGNvbHVtbiBu YW1lZCBpbiBGT1IgUE9SVElPTiBPRiAqLwogCU9pZAkJCWZwX3JhbmdlVHlwZTsJLyogdGhlIHR5 cGUgb2YgdGhlIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb24gKi8KIAlpbnQJCQlmcF9yYW5nZUF0 dG5vOwkvKiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNvbHVtbiAqLworCWludAkJCWZwX3Blcmlv ZFN0YXJ0QXR0bm87CS8qIHRoZSBhdHRubyBvZiB0aGUgUEVSSU9EIHN0YXJ0CisJCQkJCQkJCQkJ ICogY29sdW1uIChvciAwIGZvciBhIHJhbmdlKSAqLworCWludAkJCWZwX3BlcmlvZEVuZEF0dG5v OwkvKiB0aGUgYXR0bm8gb2YgdGhlIFBFUklPRCBlbmQgY29sdW1uIChvcgorCQkJCQkJCQkJICog MCBmb3IgYSByYW5nZSkgKi8KIAlEYXR1bQkJZnBfdGFyZ2V0UmFuZ2U7IC8qIHRoZSByYW5nZS9t dWx0aXJhbmdlIGZyb20gRk9SIFBPUlRJT04gT0YgKi8KIAlUeXBlQ2FjaGVFbnRyeSAqZnBfbGVm dG92ZXJzdHlwY2FjaGU7CS8qIHR5cGUgY2FjaGUgZW50cnkgb2YgdGhlIHJhbmdlICovCiAJVHVw bGVUYWJsZVNsb3QgKmZwX0V4aXN0aW5nOwkvKiBzbG90IHRvIHN0b3JlIG9sZCB0dXBsZSAqLwpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oIGIvc3JjL2luY2x1ZGUv bm9kZXMvcGFyc2Vub2Rlcy5oCmluZGV4IGEwOWU5ZDliYTZhLi4zNzg1YmU2Zjg1ZCAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25v ZGVzL3BhcnNlbm9kZXMuaApAQCAtMjM3MCw2ICsyMzcwLDcgQEAgdHlwZWRlZiBlbnVtIE9iamVj dFR5cGUKIAlPQkpFQ1RfT1BFUkFUT1IsCiAJT0JKRUNUX09QRkFNSUxZLAogCU9CSkVDVF9QQVJB TUVURVJfQUNMLAorCU9CSkVDVF9QRVJJT0QsCiAJT0JKRUNUX1BPTElDWSwKIAlPQkpFQ1RfUFJP Q0VEVVJFLAogCU9CSkVDVF9QVUJMSUNBVElPTiwKQEAgLTI0NTcsNiArMjQ1OCw4IEBAIHR5cGVk ZWYgZW51bSBBbHRlclRhYmxlVHlwZQogCUFUX1ZhbGlkYXRlQ29uc3RyYWludCwJCS8qIHZhbGlk YXRlIGNvbnN0cmFpbnQgKi8KIAlBVF9BZGRJbmRleENvbnN0cmFpbnQsCQkvKiBhZGQgY29uc3Ry YWludCB1c2luZyBleGlzdGluZyBpbmRleCAqLwogCUFUX0Ryb3BDb25zdHJhaW50LAkJCS8qIGRy b3AgY29uc3RyYWludCAqLworCUFUX0FkZFBlcmlvZCwJCQkJLyogQUREIFBFUklPRCAqLworCUFU X0Ryb3BQZXJpb2QsCQkJCS8qIERST1AgUEVSSU9EICovCiAJQVRfUmVBZGRDb21tZW50LAkJCS8q IGludGVybmFsIHRvIGNvbW1hbmRzL3RhYmxlY21kcy5jICovCiAJQVRfQWx0ZXJDb2x1bW5UeXBl LAkJCS8qIGFsdGVyIGNvbHVtbiB0eXBlICovCiAJQVRfQWx0ZXJDb2x1bW5HZW5lcmljT3B0aW9u cywJLyogYWx0ZXIgY29sdW1uIE9QVElPTlMgKC4uLikgKi8KQEAgLTI3NTYsMTEgKzI3NTksMTIg QEAgdHlwZWRlZiBzdHJ1Y3QgVmFyaWFibGVTaG93U3RtdAogLyogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogICoJCUNyZWF0ZSBUYWJsZSBTdGF0ZW1lbnQKICAqCi0gKiBOT1RFOiBpbiB0aGUgcmF3 IGdyYW0ueSBvdXRwdXQsIENvbHVtbkRlZiBhbmQgQ29uc3RyYWludCBub2RlcyBhcmUKLSAqIGlu dGVybWl4ZWQgaW4gdGFibGVFbHRzLCBhbmQgY29uc3RyYWludHMgYW5kIG5uY29uc3RyYWludHMg YXJlIE5JTC4gIEFmdGVyCisgKiBOT1RFOiBpbiB0aGUgcmF3IGdyYW0ueSBvdXRwdXQsIENvbHVt bkRlZiwgUGVyaW9kRGVmLCBhbmQgQ29uc3RyYWludCBub2RlcyBhcmUKKyAqIGludGVybWl4ZWQg aW4gdGFibGVFbHRzOyBjb25zdHJhaW50cywgbm5jb25zdHJhaW50cywgYW5kIHBlcmlvZHMgYXJl IE5JTC4gIEFmdGVyCiAgKiBwYXJzZSBhbmFseXNpcywgdGFibGVFbHRzIGNvbnRhaW5zIGp1c3Qg Q29sdW1uRGVmcywgbm5jb25zdHJhaW50cyBjb250YWlucwotICogQ29uc3RyYWludCBub2RlcyBv ZiBDT05TVFJfTk9UTlVMTCB0eXBlIGZyb20gdmFyaW91cyBzb3VyY2VzLCBhbmQKLSAqIGNvbnN0 cmFpbnRzIGNvbnRhaW5zIGp1c3QgQ09OU1RSX0NIRUNLIENvbnN0cmFpbnQgbm9kZXMuCisgKiBD b25zdHJhaW50IG5vZGVzIG9mIENPTlNUUl9OT1ROVUxMIHR5cGUgZnJvbSB2YXJpb3VzIHNvdXJj ZXMsIGNvbnN0cmFpbnRzCisgKiBjb250YWlucyBqdXN0IENPTlNUUl9DSEVDSyBDb25zdHJhaW50 IG5vZGVzLCBhbmQgcGVyaW9kcyBjb250YWlucyBqdXN0CisgKiBQZXJpb2REZWZzLgogICogLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKQEAgLTI3NjksNiArMjc3Myw3IEBAIHR5cGVkZWYg c3RydWN0IENyZWF0ZVN0bXQKIAlOb2RlVGFnCQl0eXBlOwogCVJhbmdlVmFyICAgKnJlbGF0aW9u OwkJLyogcmVsYXRpb24gdG8gY3JlYXRlICovCiAJTGlzdAkgICAqdGFibGVFbHRzOwkJLyogY29s dW1uIGRlZmluaXRpb25zIChsaXN0IG9mIENvbHVtbkRlZikgKi8KKwlMaXN0CSAgICpwZXJpb2Rz OwkJLyogcGVyaW9kcyAobGlzdCBvZiBQZXJpb2REZWYgbm9kZXMpICovCiAJTGlzdAkgICAqaW5o UmVsYXRpb25zOwkvKiByZWxhdGlvbnMgdG8gaW5oZXJpdCBmcm9tIChsaXN0IG9mCiAJCQkJCQkJ CSAqIFJhbmdlVmFyKSAqLwogCVBhcnRpdGlvbkJvdW5kU3BlYyAqcGFydGJvdW5kOwkvKiBGT1Ig VkFMVUVTIGNsYXVzZSAqLwpAQCAtMjc4Myw2ICsyNzg4LDMxIEBAIHR5cGVkZWYgc3RydWN0IENy ZWF0ZVN0bXQKIAlib29sCQlpZl9ub3RfZXhpc3RzOwkvKiBqdXN0IGRvIG5vdGhpbmcgaWYgaXQg YWxyZWFkeSBleGlzdHM/ICovCiB9IENyZWF0ZVN0bXQ7CiAKKworLyogLS0tLS0tLS0tLQorICog RGVmaW5pdGlvbnMgZm9yIHBlcmlvZHMgaW4gQ3JlYXRlU3RtdAorICogLS0tLS0tLS0tLQorICov CisKK3R5cGVkZWYgc3RydWN0IFBlcmlvZERlZgoreworCU5vZGVUYWcJCXR5cGU7CisJT2lkCQkJ b2lkOwkJCS8qIHBlcmlvZCBvaWQsIG9uY2UgaXQncyB0cmFuc2Zvcm1lZCAqLworCWNoYXIJICAg KnBlcmlvZG5hbWU7CQkvKiBwZXJpb2QgbmFtZSAqLworCWNoYXIJICAgKnN0YXJ0Y29sbmFtZTsJ LyogbmFtZSBvZiBzdGFydCBjb2x1bW4gKi8KKwljaGFyCSAgICplbmRjb2xuYW1lOwkJLyogbmFt ZSBvZiBlbmQgY29sdW1uICovCisJQXR0ck51bWJlcglzdGFydGF0dG51bTsJLyogYXR0bnVtIG9m IHRoZSBzdGFydCBjb2x1bW4gKi8KKwlBdHRyTnVtYmVyCWVuZGF0dG51bTsJCS8qIGF0dG51bSBv ZiB0aGUgZW5kIGNvbHVtbiAqLworCUF0dHJOdW1iZXIJcm5nYXR0bnVtOwkJLyogYXR0bnVtIG9m IHRoZSBHRU5FUkFURUQgcmFuZ2UgY29sdW1uICovCisJTGlzdAkgICAqb3B0aW9uczsJCS8qIG9w dGlvbnMgZnJvbSBXSVRIIGNsYXVzZSAqLworCWNoYXIJICAgKmNvbnN0cmFpbnRuYW1lOyAvKiBu YW1lIG9mIHRoZSBDSEVDSyBjb25zdHJhaW50ICovCisJY2hhcgkgICAqcmFuZ2V0eXBlbmFtZTsJ LyogbmFtZSBvZiB0aGUgcmFuZ2UgdHlwZSAqLworCU9pZAkJCWNvbHR5cGlkOwkJLyogdGhlIHN0 YXJ0L2VuZCBjb2wgdHlwZSAqLworCU9pZAkJCXJuZ3R5cGlkOwkJLyogdGhlIHJhbmdlIHR5cGUg dG8gdXNlICovCisJYm9vbAkJY29sZXhpc3RzOwkJLyogdXNlIGFuIGV4aXN0aW5nIEdFTkVSQVRF RCBjb2x1bW4gKi8KKwlpbnQJCQlsb2NhdGlvbjsJCS8qIHRva2VuIGxvY2F0aW9uLCBvciAtMSBp ZiB1bmtub3duICovCit9IFBlcmlvZERlZjsKKwogLyogLS0tLS0tLS0tLQogICogRGVmaW5pdGlv bnMgZm9yIGNvbnN0cmFpbnRzIGluIENyZWF0ZVN0bXQKICAqCkBAIC0zNTA5LDYgKzM1MzksNyBA QCB0eXBlZGVmIHN0cnVjdCBJbmRleFN0bXQKIAlMaXN0CSAgICppbmRleFBhcmFtczsJLyogY29s dW1ucyB0byBpbmRleDogYSBsaXN0IG9mIEluZGV4RWxlbSAqLwogCUxpc3QJICAgKmluZGV4SW5j bHVkaW5nUGFyYW1zOwkvKiBhZGRpdGlvbmFsIGNvbHVtbnMgdG8gaW5kZXg6IGEgbGlzdAogCQkJ CQkJCQkJCSAqIG9mIEluZGV4RWxlbSAqLworCVBlcmlvZERlZiAgKnBlcmlvZDsJCQkvKiBUaGUg cGVyaW9kIGluY2x1ZGVkIGluIHRoZSBpbmRleCAqLwogCUxpc3QJICAgKm9wdGlvbnM7CQkvKiBX SVRIIGNsYXVzZSBvcHRpb25zOiBhIGxpc3Qgb2YgRGVmRWxlbSAqLwogCU5vZGUJICAgKndoZXJl Q2xhdXNlOwkvKiBxdWFsaWZpY2F0aW9uIChwYXJ0aWFsLWluZGV4IHByZWRpY2F0ZSkgKi8KIAlM aXN0CSAgICpleGNsdWRlT3BOYW1lczsgLyogZXhjbHVzaW9uIG9wZXJhdG9yIG5hbWVzLCBvciBO SUwgaWYgbm9uZSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAppbmRleCBmYmJjZDc3ZGQ4NC4uOTNkMDZl ZmUwY2UgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCisrKyBiL3Ny Yy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCkBAIC0yNDAzLDYgKzI0MDMsOCBAQCB0eXBlZGVm IHN0cnVjdCBGb3JQb3J0aW9uT2ZFeHByCiB7CiAJTm9kZVRhZwkJdHlwZTsKIAlWYXIJCSAgICpy YW5nZVZhcjsJCS8qIFJhbmdlIGNvbHVtbiAqLworCVZhcgkJICAgKnN0YXJ0VmFyOwkJLyogU3Rh cnQgY29sdW1uIGlmIFBFUklPRCAqLworCVZhcgkJICAgKmVuZFZhcjsJCQkvKiBFbmQgY29sdW1u IGlmIFBFUklPRCAqLwogCWNoYXIJICAgKnJhbmdlX25hbWU7CQkvKiBSYW5nZSBuYW1lICovCiAJ Tm9kZQkgICAqdGFyZ2V0UmFuZ2U7CS8qIEZPUiBQT1JUSU9OIE9GIGJvdW5kcyBhcyBhIHJhbmdl ICovCiAJT2lkCQkJcmFuZ2VUeXBlOwkJLyogdHlwZSBvZiB0YXJnZXRSYW5nZSAqLwpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3 bGlzdC5oCmluZGV4IGE4ZGVmM2EzODZjLi5jZmMyZjY4Y2E4YSAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvcGFyc2VyL2t3bGlzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaApA QCAtMzQxLDcgKzM0MSw3IEBAIFBHX0tFWVdPUkQoInBhcnRpdGlvbiIsIFBBUlRJVElPTiwgVU5S RVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGFzc2luZyIsIFBBU1NJ TkcsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBhc3N3b3Jk IiwgUEFTU1dPUkQsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQo InBhdGgiLCBQQVRILCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCi1QR19LRVlXT1JE KCJwZXJpb2QiLCBQRVJJT0QsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKK1BHX0tF WVdPUkQoInBlcmlvZCIsIFBFUklPRCwgUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBH X0tFWVdPUkQoInBsYWNpbmciLCBQTEFDSU5HLCBSRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVM KQogUEdfS0VZV09SRCgicGxhbiIsIFBMQU4sIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJF TCkKIFBHX0tFWVdPUkQoInBsYW5zIiwgUExBTlMsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9M QUJFTCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV91dGlsY21kLmggYi9z cmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfdXRpbGNtZC5oCmluZGV4IDQ5NjVmYWM0NDk1Li5kMGQy M2FmM2Q0MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaAor KysgYi9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfdXRpbGNtZC5oCkBAIC00MCw1ICs0MCw2IEBA IGV4dGVybiBJbmRleFN0bXQgKmdlbmVyYXRlQ2xvbmVkSW5kZXhTdG10KFJhbmdlVmFyICpoZWFw UmVsLAogCQkJCQkJCQkJCSAgUmVsYXRpb24gc291cmNlX2lkeCwKIAkJCQkJCQkJCQkgIGNvbnN0 IEF0dHJNYXAgKmF0dG1hcCwKIAkJCQkJCQkJCQkgIE9pZCAqY29uc3RyYWludE9pZCk7CitleHRl cm4gdm9pZCB0cmFuc2Zvcm1QZXJpb2RPcHRpb25zKFBlcmlvZERlZiAqcGVyaW9kKTsKIAogI2Vu ZGlmCQkJCQkJCS8qIFBBUlNFX1VUSUxDTURfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv dXRpbHMvbHN5c2NhY2hlLmggYi9zcmMvaW5jbHVkZS91dGlscy9sc3lzY2FjaGUuaAppbmRleCA1 YjUwZWYyMzBhYi4uZWRkY2E5OTdlZmIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2xz eXNjYWNoZS5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNjYWNoZS5oCkBAIC05OCw2ICs5 OCw4IEBAIGV4dGVybiBPaWQJZ2V0X2F0dHR5cGUoT2lkIHJlbGlkLCBBdHRyTnVtYmVyIGF0dG51 bSk7CiBleHRlcm4gdm9pZCBnZXRfYXR0dHlwZXR5cG1vZGNvbGwoT2lkIHJlbGlkLCBBdHRyTnVt YmVyIGF0dG51bSwKIAkJCQkJCQkJICBPaWQgKnR5cGlkLCBpbnQzMiAqdHlwbW9kLCBPaWQgKmNv bGxpZCk7CiBleHRlcm4gRGF0dW0gZ2V0X2F0dG9wdGlvbnMoT2lkIHJlbGlkLCBpbnQxNiBhdHRu dW0pOworZXh0ZXJuIGNoYXIgKmdldF9wZXJpb2RuYW1lKE9pZCBwZXJpb2RpZCwgYm9vbCBtaXNz aW5nX29rKTsKK2V4dGVybiBPaWQJZ2V0X3BlcmlvZF9vaWQoT2lkIHJlbGlkLCBjb25zdCBjaGFy ICpwZXJpb2RuYW1lLCBib29sIG1pc3Npbmdfb2spOwogZXh0ZXJuIE9pZAlnZXRfY2FzdF9vaWQo T2lkIHNvdXJjZXR5cGVpZCwgT2lkIHRhcmdldHR5cGVpZCwgYm9vbCBtaXNzaW5nX29rKTsKIGV4 dGVybiBjaGFyICpnZXRfY29sbGF0aW9uX25hbWUoT2lkIGNvbGxvaWQpOwogZXh0ZXJuIGJvb2wg Z2V0X2NvbGxhdGlvbl9pc2RldGVybWluaXN0aWMoT2lkIGNvbGxvaWQpOwpAQCAtMjAzLDYgKzIw NSw3IEBAIGV4dGVybiBPaWQJZ2V0X3JhbmdlX3N1YnR5cGUoT2lkIHJhbmdlT2lkKTsKIGV4dGVy biBPaWQJZ2V0X3JhbmdlX2NvbGxhdGlvbihPaWQgcmFuZ2VPaWQpOwogZXh0ZXJuIE9pZAlnZXRf cmFuZ2VfbXVsdGlyYW5nZShPaWQgcmFuZ2VPaWQpOwogZXh0ZXJuIE9pZAlnZXRfbXVsdGlyYW5n ZV9yYW5nZShPaWQgbXVsdGlyYW5nZU9pZCk7CitleHRlcm4gT2lkCWdldF9zdWJ0eXBlX3Jhbmdl KE9pZCBzdWJ0eXBlT2lkKTsKIGV4dGVybiBPaWQJZ2V0X2luZGV4X2NvbHVtbl9vcGNsYXNzKE9p ZCBpbmRleF9vaWQsIGludCBhdHRubyk7CiBleHRlcm4gYm9vbCBnZXRfaW5kZXhfaXNyZXBsaWRl bnQoT2lkIGluZGV4X29pZCk7CiBleHRlcm4gYm9vbCBnZXRfaW5kZXhfaXN2YWxpZChPaWQgaW5k ZXhfb2lkKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3BlcmlvZC5oIGIvc3JjL2lu Y2x1ZGUvdXRpbHMvcGVyaW9kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLmQwMmMxNzAzNmZkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGVy aW9kLmgKQEAgLTAsMCArMSwyMSBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogcGVyaW9k LmgKKyAqCSAgc3VwcG9ydCBmb3IgUG9zdGdyZXMgcGVyaW9kcy4KKyAqCisgKgorICogUG9ydGlv bnMgQ29weXJpZ2h0IChjKSAxOTk2LTIwMjIsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50 IEdyb3VwCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVu aXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqIHNyYy9pbmNsdWRlL3V0aWxzL3BlcmlvZC5o CisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKyNpZm5kZWYgUEVSSU9EX0gKKyNkZWZpbmUg UEVSSU9EX0gKKworI2luY2x1ZGUgImV4ZWN1dG9yL3R1cHRhYmxlLmgiCisKK2V4dGVybiBEYXR1 bSBwZXJpb2RfdG9fcmFuZ2UoVHVwbGVUYWJsZVNsb3QgKnNsb3QsIGludCBzdGFydGF0dG5vLCBp bnQgZW5kYXR0bm8sIE9pZCByYW5nZXR5cGUpOworCisjZW5kaWYJCQkJCQkJLyogUEVSSU9EX0gg Ki8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS90ZXN0X2Rk bF9kZXBhcnNlLmMgYi9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfZGRsX2RlcGFyc2UvdGVzdF9kZGxf ZGVwYXJzZS5jCmluZGV4IDE5MzY2OWYyYmMxLi45ZWQ0MjlmZGFkZCAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNlL3Rlc3RfZGRsX2RlcGFyc2UuYworKysgYi9z cmMvdGVzdC9tb2R1bGVzL3Rlc3RfZGRsX2RlcGFyc2UvdGVzdF9kZGxfZGVwYXJzZS5jCkBAIC0x NzksNiArMTc5LDEyIEBAIGdldF9hbHRlcnRhYmxlX3N1YmNtZGluZm8oUEdfRlVOQ1RJT05fQVJH UykKIAkJCWNhc2UgQVRfRHJvcENvbnN0cmFpbnQ6CiAJCQkJc3RydHlwZSA9ICJEUk9QIENPTlNU UkFJTlQiOwogCQkJCWJyZWFrOworCQkJY2FzZSBBVF9BZGRQZXJpb2Q6CisJCQkJc3RydHlwZSA9 ICJBREQgUEVSSU9EIjsKKwkJCQlicmVhazsKKwkJCWNhc2UgQVRfRHJvcFBlcmlvZDoKKwkJCQlz dHJ0eXBlID0gIkRST1AgUEVSSU9EIjsKKwkJCQlicmVhazsKIAkJCWNhc2UgQVRfUmVBZGRDb21t ZW50OgogCQkJCXN0cnR5cGUgPSAiKHJlKSBBREQgQ09NTUVOVCI7CiAJCQkJYnJlYWs7CmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9uX29mLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0CmluZGV4IDUyZmIwNDRk MmU1Li5jMGQwZGU3ZTgxMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9m b3JfcG9ydGlvbl9vZi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JfcG9y dGlvbl9vZi5vdXQKQEAgLTExMDAsNiArMTEwMCw2NCBAQCBTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0 aW9uX29mX3Rlc3QyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKICBbMyw0KSB8IHtbMjAxOC0wMS0w MSwpfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCB0aHJlZQogKDYgcm93cykKIAorRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0 MjsKKy0tIFRlc3Qgd2l0aCBQRVJJT0RzCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVz dDIgKAorICBpZCBpbnQ0cmFuZ2UgTk9UIE5VTEwsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFs aWRfdGlsIGRhdGUsCisgIG5hbWUgdGV4dCBOT1QgTlVMTCwKKyAgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCBmb3JfcG9ydGlvbl9vZl90 ZXN0Ml9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOwor SU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdDIKK1ZBTFVFUworKCdbMSwyKScsICcyMDE4 LTAxLTAyJywgJzIwMTgtMDItMDMnLCAnb25lJyksCisoJ1sxLDIpJywgJzIwMTgtMDItMDQnLCAn MjAxOC0wMy0wMycsICdvbmUnKSwKKygnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0 JywgJ29uZScpLAorKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDUtMDEnLCAndHdvJyks CisoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBudWxsLCAndGhyZWUnKTsKKzsKK1VQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0x MCcgVE8gJzIwMTgtMDItMTAnCitTRVQgbmFtZSA9ICdvbmVeMScKK1dIRVJFIGlkID0gJ1sxLDIp JzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAxOC0wMi0xNScKK1dIRVJFIGlkID0gJ1syLDMp JzsKKy0tIFNldHRpbmcgdGhlIHN0YXJ0IGNvbHVtbiBmYWlsczoKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8g JzIwMTgtMDItMTAnCitTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJworV0hFUkUgaWQgPSAn WzEsMiknOworRVJST1I6ICBtdWx0aXBsZSBhc3NpZ25tZW50cyB0byBzYW1lIGNvbHVtbiAidmFs aWRfZnJvbSIKKy0tIFNldHRpbmcgdGhlIGVuZCBjb2x1bW4gZmFpbHM6CitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAn IFRPICcyMDE4LTAyLTEwJworU0VUIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJworV0hFUkUgaWQg PSAnWzEsMiknOworRVJST1I6ICBtdWx0aXBsZSBhc3NpZ25tZW50cyB0byBzYW1lIGNvbHVtbiAi dmFsaWRfdGlsIgorLS0gU2V0dGluZyB0aGUgZ2VuZXJhdGVkIGNvbHVtbiBmYWlsczoKK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OC0wMS0xMCcgVE8gJzIwMTgtMDItMTAnCitTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDItMDEsMjAx OC0wMi0wMyknCitXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIGNhbid0IGRpcmVjdGx5IGFz c2lnbiB0byAidmFsaWRfYXQiIGluIGEgRk9SIFBPUlRJT04gT0YgdXBkYXRlCitMSU5FIDM6IFNF VCB2YWxpZF9hdCA9ICdbMjAxOC0wMi0wMSwyMDE4LTAyLTAzKScKKyAgICAgICAgICAgIF4KK1NF TEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBuYW1lICAKKy0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCAyMDE4LTAxLTAyIHwgMjAxOC0w MS0xMCB8IG9uZQorIFsxLDIpIHwgMjAxOC0wMS0xMCB8IDIwMTgtMDItMDMgfCBvbmVeMQorIFsx LDIpIHwgMjAxOC0wMi0wNCB8IDIwMTgtMDItMTAgfCBvbmVeMQorIFsxLDIpIHwgMjAxOC0wMi0x MCB8IDIwMTgtMDMtMDMgfCBvbmUKKyBbMSwyKSB8IDIwMTgtMDMtMDMgfCAyMDE4LTA0LTA0IHwg b25lCisgWzIsMykgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0xNSB8IHR3bworIFsyLDMpIHwgMjAx OC0wMi0xNSB8IDIwMTgtMDUtMDEgfCB0d28KKyBbMyw0KSB8IDIwMTgtMDEtMDEgfCAgICAgICAg ICAgIHwgdGhyZWUKKyg4IHJvd3MpCisKIERST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7 CiAtLSBUZXN0IHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZQogQ1JFQVRFIFRZUEUgbXlkYXRlcmFu Z2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcGVyaW9kcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BlcmlvZHMu b3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kNDI5MDk3NjAwYQot LS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGVyaW9kcy5vdXQK QEAgLTAsMCArMSwzMTggQEAKKy8qIFN5c3RlbSBwZXJpb2RzIGFyZSBub3QgaW1wbGVtZW50ZWQg Ki8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9k IGZvciBzeXN0ZW1fdGltZSAoZHMsIGRlKSk7CitFUlJPUjogIFBFUklPRCBGT1IgU1lTVEVNX1RJ TUUgaXMgbm90IHN1cHBvcnRlZAorTElORSAyOiBjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIs IGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3Igc3kuLi4KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCisvKiBQZXJpb2RzIG11c3Qgc3Bl Y2lmeSBhY3R1YWwgY29sdW1ucyAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBk YXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGJvZ3VzLCBkZSkpOworRVJST1I6ICBjb2x1bW4g ImJvZ3VzIiBvZiByZWxhdGlvbiAicHQiIGRvZXMgbm90IGV4aXN0CitjcmVhdGUgdGFibGUgcHQg KGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGJvZ3VzKSk7 CitFUlJPUjogIGNvbHVtbiAiYm9ndXMiIG9mIHJlbGF0aW9uICJwdCIgZG9lcyBub3QgZXhpc3QK Ky8qIERhdGEgdHlwZXMgbXVzdCBtYXRjaCBleGFjdGx5ICovCitjcmVhdGUgdGFibGUgcHQgKGlk IGludGVnZXIsIGRzIGRhdGUsIGRlIHRpbWVzdGFtcCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsK K0VSUk9SOiAgc3RhcnQgYW5kIGVuZCBjb2x1bW5zIG9mIHBlcmlvZCBtdXN0IGJlIG9mIHNhbWUg dHlwZQorY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyB0ZXh0IGNvbGxhdGUgIkMiLCBk ZSB0ZXh0IGNvbGxhdGUgIlBPU0lYIiwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK0VSUk9SOiAg c3RhcnQgYW5kIGVuZCBjb2x1bW5zIG9mIHBlcmlvZCBtdXN0IGhhdmUgc2FtZSBjb2xsYXRpb24K Ky8qIFBlcmlvZHMgbXVzdCBoYXZlIGEgZGVmYXVsdCBCVHJlZSBvcGVyYXRvciBjbGFzcyAqLwor Y3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyB4bWwsIGRlIHhtbCwgcGVyaW9kIGZvciBw IChkcywgZGUpKTsKK0VSUk9SOiAgbm8gcmFuZ2UgdHlwZSBmb3IgeG1sIGZvdW5kIGZvciBwZXJp b2QgcAorSElOVDogIFlvdSBjYW4gZGVmaW5lIGEgY3VzdG9tIHJhbmdlIHR5cGUgd2l0aCBDUkVB VEUgVFlQRQorLyogUGVyaW9kIGFuZCBjb2x1bW4gbmFtZXMgYXJlIGluIHRoZSBzYW1lIG5hbWVz cGFjZSAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBw ZXJpb2QgZm9yIGN0aWQgKGRzLCBkZSkpOworRVJST1I6ICBwZXJpb2QgbmFtZSAiY3RpZCIgY29u ZmxpY3RzIHdpdGggYSBzeXN0ZW0gY29sdW1uIG5hbWUKK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50 ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBpZCAoZHMsIGRlKSk7CitFUlJPUjog IHBlcmlvZCBuYW1lICJpZCIgY29uZmxpY3RzIHdpdGggYSBjb2x1bW4gbmFtZQorLyogUGVyaW9k IG5hbWUgY2FuJ3QgYmUgZ2l2ZW4gbW9yZSB0aGFuIG9uY2UgKi8KK2NyZWF0ZSB0YWJsZSBwdCAo aWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpLCBwZXJp b2QgZm9yIHAgKGRzLCBkZSkpOworRVJST1I6ICBwZXJpb2QgbmFtZSAicCIgc3BlY2lmaWVkIG1v cmUgdGhhbiBvbmNlCisvKiBQZXJpb2QgY2FuJ3QgdXNlIHRoZSBzYW1lIGNvbHVtIGZvciBzdGFy dCBhbmQgZW5kKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0 ZSwgcGVyaW9kIGZvciBwIChkcywgZHMpKTsKK0VSUk9SOiAgY29sdW1uICJkcyIgY2FuJ3QgYmUg dGhlIHN0YXJ0IGFuZCBlbmQgY29sdW1uIGZvciBwZXJpb2QgInAiCisvKiBOb3cgbWFrZSBvbmUg dGhhdCB3b3JrcyAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBk YXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOworLyogSXRzIGdlbmVyYXRlZCBjb2x1bW4gbG9v a3MgZ29vZCAqLworc2VsZWN0IGF0dG5hbWUsIGF0dHR5cGlkOjpyZWd0eXBlLCBhdHRub3RudWxs LCBhdHRnZW5lcmF0ZWQgZnJvbSBwZ19hdHRyaWJ1dGUgd2hlcmUgYXR0cmVsaWQgPSAncHQnOjpy ZWdjbGFzcyBhbmQgYXR0bmFtZSA9ICdwJzsKKyBhdHRuYW1lIHwgYXR0dHlwaWQgIHwgYXR0bm90 bnVsbCB8IGF0dGdlbmVyYXRlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0KKyBwICAgICAgIHwgZGF0ZXJhbmdlIHwgdCAgICAgICAgICB8IHMKKygx IHJvdykKKworc2VsZWN0IGNvbm5hbWUsIGNvbnR5cGUgZnJvbSBwZ19jb25zdHJhaW50IHdoZXJl IGNvbnJlbGlkID0gJ3B0Jzo6cmVnY2xhc3Mgb3JkZXIgYnkgY29ubmFtZTsKKyAgICBjb25uYW1l ICAgIHwgY29udHlwZSAKKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBwdF9wX2NoZWNrICAg IHwgYworIHB0X3Bfbm90X251bGwgfCBuCisoMiByb3dzKQorCisvKiBJdCBhcHBlYXJzIGluIHRo ZSBpbmZvcm1hdGlvbl9zY2hlbWEgKi8KK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1h LnBlcmlvZHM7CisgdGFibGVfY2F0YWxvZyB8IHRhYmxlX3NjaGVtYSB8IHRhYmxlX25hbWUgfCBw ZXJpb2RfbmFtZSB8IHN0YXJ0X2NvbHVtbl9uYW1lIHwgZW5kX2NvbHVtbl9uYW1lIAorLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzaW9uICAgIHwgcHVibGlj ICAgICAgIHwgcHQgICAgICAgICB8IHAgICAgICAgICAgIHwgZHMgICAgICAgICAgICAgICAgfCBk ZQorKDEgcm93KQorCisvKiBTRUxFQ1QgKiBleGNsdWRlcyB0aGUgUEVSSU9EICovCitpbnNlcnQg aW50byBwdCB2YWx1ZXMgKDEsICcyMDAwLTAxLTAxJywgJzIwMDEtMDEtMDEnKTsKK3NlbGVjdCAq IGZyb20gcHQ7CisgaWQgfCAgICAgZHMgICAgIHwgICAgIGRlICAgICAKKy0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorICAxIHwgMDEtMDEtMjAwMCB8IDAxLTAxLTIwMDEKKygxIHJvdykK KworLyogWW91IGNhbiBnZXQgaXQgaWYgeW91IHdhbnQgKi8KK3NlbGVjdCAqLCBwIGZyb20gcHQ7 CisgaWQgfCAgICAgZHMgICAgIHwgICAgIGRlICAgICB8ICAgICAgICAgICAgcCAgICAgICAgICAg IAorLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAgMSB8IDAxLTAxLTIwMDAgfCAwMS0wMS0yMDAxIHwgWzAxLTAxLTIwMDAsMDEtMDEtMjAw MSkKKygxIHJvdykKKworLyogWW91IGNhbiBjb21tZW50IG9uIGl0ICovCitjb21tZW50IG9uIHBl cmlvZCBwdC5wIGlzICd0ZXN0IGNvbW1lbnQnOworc2VsZWN0IG9ial9kZXNjcmlwdGlvbigoc2Vs ZWN0IG9pZCBmcm9tIHBnX3BlcmlvZCB3aGVyZSBwZXJyZWxpZCA9ICdwdCc6OnJlZ2NsYXNzIGFu ZCBwZXJuYW1lID0gJ3AnKSwgJ3BnX3BlcmlvZCcpOworIG9ial9kZXNjcmlwdGlvbiAKKy0tLS0t LS0tLS0tLS0tLS0tCisgdGVzdCBjb21tZW50CisoMSByb3cpCisKKy8qIFR3byBhcmUgb2theSAq LworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9k IGZvciBwMSAoZHMsIGRlKSwgcGVyaW9kIGZvciBwMiAoZHMsIGRlKSk7Citkcm9wIHRhYmxlIHB0 MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogd29ya3MgKi8KK2NyZWF0ZSB0 YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBu dWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQsIHBlcmlv ZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CitcZCBwdDIKKyAgICAg ICAgICAgICAgICBUYWJsZSAicHVibGljLnB0MiIKKyBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0 aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgIHwgaW50ZWdlciB8ICAgICAgICAgICB8ICAg ICAgICAgIHwgCisgZHMgICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisg ZGUgICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAg IHAgKGRzLCBkZSkKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJwdDJfcF9jaGVjayIgQ0hFQ0sg KGRzIDwgZGUpCisKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQg Y29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2wgaXNuJ3QgdGhlcmUgKi8KK2NyZWF0ZSB0YWJs ZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRl KSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CitFUlJPUjogIE5vIGNvbHVtbiBmb3VuZCB3aXRo IG5hbWUgcAorLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNl IHRoZSBvcHRpb24gaGFzIGFuIGludmFsaWQgdmFsdWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlk IGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChj b2xleGlzdHMgPSAnd2hhdGV2ZXInKSk7CitFUlJPUjogIGNvbGV4aXN0cyByZXF1aXJlcyBhIEJv b2xlYW4gdmFsdWUKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVj YXVzZSB0aGUgY29sdW1uIGlzIG5vdCBOT1QgTlVMTCAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQg aW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2UgZ2VuZXJhdGVkIGFsd2F5cyBh cyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGgg KGNvbGV4aXN0cyA9IHRydWUpKTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIGdlbmVyYXRlZCBj b2x1bW4gdGhhdCBhbGxvd3MgbnVsbHMKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVt bjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIG5vdCBHRU5FUkFURUQgKi8KK2NyZWF0ZSB0 YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBu dWxsLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpOworRVJS T1I6ICBQZXJpb2QgcCB1c2VzIGEgbm9uLWdlbmVyYXRlZCBjb2x1bW4KKy8qIFNraXAgY3JlYXRp bmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIEdFTkVSQVRF RCBidXQgd2l0aCB0aGUgd3JvbmcgZXhwcmVzc2lvbiAqLworLS0gVE9ETzoKKy0tIGNyZWF0ZSB0 YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBu dWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkZSwgZHMpKSBzdG9yZWQsIHBlcmlv ZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CisvKiBTa2lwIGNyZWF0 aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyB0aGUgd3Jv bmcgdHlwZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0 ZSwgcCB0c3JhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKHRzcmFuZ2UoZHMsIGRl KSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkp OworRVJST1I6ICBQZXJpb2QgcCB1c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB3aXRoIHRoZSB3cm9u ZyB0eXBlCisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2Ug dGhlIGNvbHVtbiBpcyBpbmhlcml0ZWQgKi8KK2NyZWF0ZSB0YWJsZSBwdDJwYXJlbnQgKGlkIGlu dGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBh bHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQpOworY3JlYXRlIHRhYmxlIHB0MiAo cGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKSBpbmhlcml0cyAo cHQycGFyZW50KTsKK0VSUk9SOiAgSW5oZXJpdGluZyBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gYSB0 YWJsZSBoYXMgYSBQRVJJT0QKK2Ryb3AgdGFibGUgcHQycGFyZW50OworLyoKKyAqIEFMVEVSIFRB QkxFIHRlc3RzCisgKi8KK2FsdGVyIHRhYmxlIHB0IGRyb3AgcGVyaW9kIGZvciBwOworYWx0ZXIg dGFibGUgcHQgYWRkIHBlcmlvZCBmb3Igc3lzdGVtX3RpbWUgKGRzLCBkZSk7CitFUlJPUjogIFBF UklPRCBGT1IgU1lTVEVNX1RJTUUgaXMgbm90IHN1cHBvcnRlZAorYWx0ZXIgdGFibGUgcHQgYWRk IHBlcmlvZCBmb3IgcCAoZHMsIGRlKTsKKy8qIEl0cyBnZW5lcmF0ZWQgY29sdW1uIGxvb2tzIGdv b2QgKi8KK3NlbGVjdCBhdHRuYW1lLCBhdHR0eXBpZDo6cmVndHlwZSwgYXR0bm90bnVsbCwgYXR0 Z2VuZXJhdGVkIGZyb20gcGdfYXR0cmlidXRlIHdoZXJlIGF0dHJlbGlkID0gJ3B0Jzo6cmVnY2xh c3MgYW5kIGF0dG5hbWUgPSAncCc7CisgYXR0bmFtZSB8IGF0dHR5cGlkICB8IGF0dG5vdG51bGwg fCBhdHRnZW5lcmF0ZWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tCisgcCAgICAgICB8IGRhdGVyYW5nZSB8IHQgICAgICAgICAgfCBzCisoMSByb3cp CisKK3NlbGVjdCBjb25uYW1lLCBjb250eXBlIGZyb20gcGdfY29uc3RyYWludCB3aGVyZSBjb25y ZWxpZCA9ICdwdCc6OnJlZ2NsYXNzIG9yZGVyIGJ5IGNvbm5hbWU7CisgICAgY29ubmFtZSAgICB8 IGNvbnR5cGUgCistLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCisgcHRfcF9jaGVjayAgICB8IGMK KyBwdF9wX25vdF9udWxsIHwgbgorKDIgcm93cykKKworLyogQWRkaW5nIGEgc2Vjb25kIG9uZSAq LworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9k IGZvciBwMSAoZHMsIGRlKSk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcDIgKGRz LCBkZSk7Citkcm9wIHRhYmxlIHB0MjsKKy8qIENhbid0IGRyb3AgaXRzIGNvbHVtbnMgKi8KK2Fs dGVyIHRhYmxlIHB0IGRyb3AgY29sdW1uIGRzOworRVJST1I6ICBjYW5ub3QgZHJvcCBjb2x1bW4g ZHMgb2YgdGFibGUgcHQgYmVjYXVzZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAorREVUQUlM OiAgcGVyaW9kIHAgb24gdGFibGUgcHQgZGVwZW5kcyBvbiBjb2x1bW4gZHMgb2YgdGFibGUgcHQK K0hJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBkcm9wIHRoZSBkZXBlbmRlbnQgb2JqZWN0 cyB0b28uCithbHRlciB0YWJsZSBwdCBkcm9wIGNvbHVtbiBkZTsKK0VSUk9SOiAgY2Fubm90IGRy b3AgY29sdW1uIGRlIG9mIHRhYmxlIHB0IGJlY2F1c2Ugb3RoZXIgb2JqZWN0cyBkZXBlbmQgb24g aXQKK0RFVEFJTDogIHBlcmlvZCBwIG9uIHRhYmxlIHB0IGRlcGVuZHMgb24gY29sdW1uIGRlIG9m IHRhYmxlIHB0CitISU5UOiAgVXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0aGUgZGVwZW5k ZW50IG9iamVjdHMgdG9vLgorLyogQ2FuJ3QgY2hhbmdlIHRoZSBkYXRhIHR5cGVzICovCithbHRl ciB0YWJsZSBwdCBhbHRlciBjb2x1bW4gZHMgdHlwZSB0aW1lc3RhbXA7CitFUlJPUjogIGNhbm5v dCBhbHRlciB0eXBlIG9mIGEgY29sdW1uIHVzZWQgYnkgYSBwZXJpb2QKK0RFVEFJTDogIHBlcmlv ZCBwIG9uIHRhYmxlIHB0IGRlcGVuZHMgb24gY29sdW1uICJkcyIKK2FsdGVyIHRhYmxlIHB0IGFs dGVyIGNvbHVtbiBkcyB0eXBlIHRpbWVzdGFtcDsKK0VSUk9SOiAgY2Fubm90IGFsdGVyIHR5cGUg b2YgYSBjb2x1bW4gdXNlZCBieSBhIHBlcmlvZAorREVUQUlMOiAgcGVyaW9kIHAgb24gdGFibGUg cHQgZGVwZW5kcyBvbiBjb2x1bW4gImRzIgorLyogY29sdW1uL3BlcmlvZCBuYW1lc3BhY2UgY29u ZmxpY3RzICovCithbHRlciB0YWJsZSBwdCBhZGQgY29sdW1uIHAgaW50ZWdlcjsKK0VSUk9SOiAg Y29sdW1uIG5hbWUgInAiIGNvbmZsaWN0cyB3aXRoIGEgcGVyaW9kIG5hbWUKK2FsdGVyIHRhYmxl IHB0IHJlbmFtZSBjb2x1bW4gaWQgdG8gcDsKK0VSUk9SOiAgY29sdW1uIG5hbWUgInAiIGNvbmZs aWN0cyB3aXRoIGEgcGVyaW9kIG5hbWUKK2FsdGVyIHRhYmxlIHB0IGFkZCBwZXJpb2QgZm9yIHRh Ymxlb2lkIChkcywgZGUpOworRVJST1I6ICBwZXJpb2QgbmFtZSAidGFibGVvaWQiIGNvbmZsaWN0 cyB3aXRoIGEgc3lzdGVtIGNvbHVtbiBuYW1lCithbHRlciB0YWJsZSBwdCBhZGQgcGVyaW9kIGZv ciAiLi4uLi4uLi5wZy5kcm9wcGVkLjQuLi4uLi4uLiIgKGRzLCBkZSk7CitFUlJPUjogIHBlcmlv ZCBuYW1lICIuLi4uLi4uLnBnLmRyb3BwZWQuNC4uLi4uLi4uIiBjb25mbGljdHMgd2l0aCBhIGNv bHVtbiBuYW1lCisvKiBhZGRpbmcgY29sdW1ucyBhbmQgdGhlIHBlcmlvZCBhdCB0aGUgc2FtZSB0 aW1lICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyKTsKK2FsdGVyIHRhYmxlIHB0MiBh ZGQgY29sdW1uIGRzIGRhdGUsIGFkZCBjb2x1bW4gZGUgZGF0ZSwgYWRkIHBlcmlvZCBmb3IgcCAo ZHMsIGRlKTsKK2Ryb3AgdGFibGUgcHQyOworLyogQW1iaWd1b3VzIHJhbmdlIHR5cGVzIHJhaXNl IGFuIGVycm9yICovCitjcmVhdGUgdHlwZSBteWRhdGVyYW5nZSBhcyByYW5nZShzdWJ0eXBlPWRh dGUpOworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2Qg Zm9yIHAgKGRzLCBkZSkpOworRVJST1I6ICBhbWJpZ3VvdXMgcmFuZ2UgZm9yIHR5cGUgZGF0ZQor LyogWW91IGNhbiBnaXZlIGFuIGV4cGxpY2l0IHJhbmdlIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBw dDIgKGlkIGludCwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGgg KHJhbmdldHlwZSA9ICdteWRhdGVyYW5nZScpKTsKK2Ryb3AgdHlwZSBteWRhdGVyYW5nZTsKK0VS Uk9SOiAgY2Fubm90IGRyb3AgdHlwZSBteWRhdGVyYW5nZSBiZWNhdXNlIG90aGVyIG9iamVjdHMg ZGVwZW5kIG9uIGl0CitERVRBSUw6ICBwZXJpb2QgcCBvbiB0YWJsZSBwdDIgZGVwZW5kcyBvbiB0 eXBlIG15ZGF0ZXJhbmdlCitISU5UOiAgVXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0aGUg ZGVwZW5kZW50IG9iamVjdHMgdG9vLgorZHJvcCB0eXBlIG15ZGF0ZXJhbmdlIGNhc2NhZGU7CitO T1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIHBlcmlvZCBwIG9uIHRhYmxlIHB0MgorZHJvcCB0YWJs ZSBwdDI7CitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlv ZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChyYW5nZXR5cGUgPSAnZGF0ZXJhbmdlJykpOworLyogUmFu Z2UgdHlwZSBpcyBub3QgZm91bmQgKi8KK2NyZWF0ZSB0YWJsZSBwdDMgKGlkIGludCwgZHMgZGF0 ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKHJhbmdldHlwZSA9ICdub3Rh cmFuZ2UnKSk7CitFUlJPUjogIFJhbmdlIHR5cGUgbm90YXJhbmdlIG5vdCBmb3VuZAorLyogUmFu Z2UgdHlwZSBpcyB0aGUgd3JvbmcgdHlwZSAqLworY3JlYXRlIHRhYmxlIHB0MyAoaWQgaW50LCBk cyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAocmFuZ2V0eXBlID0g J3RzdHpyYW5nZScpKTsKK0VSUk9SOiAgUmFuZ2UgdHlwZSB0c3R6cmFuZ2UgZG9lcyBub3QgbWF0 Y2ggY29sdW1uIHR5cGUgZGF0ZQorZHJvcCB0YWJsZSBwdDI7CisvKiBQZXJpb2QgY2FuJ3QgdXNl IHRoZSBzYW1lIGNvbHVtIGZvciBzdGFydCBhbmQgZW5kKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlk IGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2Qg Zm9yIHAgKGRzLCBkcyk7CitFUlJPUjogIGNvbHVtbiAiZHMiIGNhbid0IGJlIHRoZSBzdGFydCBh bmQgZW5kIGNvbHVtbiBmb3IgcGVyaW9kICJwIgorZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNy ZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IHdvcmtzICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBp bnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQg YWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsKK2FsdGVyIHRhYmxlIHB0MiBh ZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOworXGQgcHQy CisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy5wdDIiCisgQ29sdW1uIHwgIFR5cGUgICB8 IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICB8IGludGVnZXIgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAorIGRzICAgICB8IGRhdGUgICAgfCAgICAgICAgICAgfCAgICAgICAg ICB8IAorIGRlICAgICB8IGRhdGUgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9k czoKKyAgICBwIChkcywgZGUpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAicHQyX3BfY2hlY2si IENIRUNLIChkcyA8IGRlKQorCitkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VO RVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sIGlzbid0IHRoZXJlICovCitjcmVh dGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlKTsKK2FsdGVyIHRhYmxl IHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOwor RVJST1I6ICBjb2x1bW4gInAiIG9mIHJlbGF0aW9uICJwdDIiIGRvZXMgbm90IGV4aXN0Citkcm9w IHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVj YXVzZSB0aGUgb3B0aW9uIGhhcyBhbiBpbnZhbGlkIHZhbHVlICovCitjcmVhdGUgdGFibGUgcHQy IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5l cmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsKK2FsdGVyIHRhYmxl IHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9ICd3aGF0ZXZl cicpOworRVJST1I6ICBjb2xleGlzdHMgcmVxdWlyZXMgYSBCb29sZWFuIHZhbHVlCitkcm9wIHRh YmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVz ZSB0aGUgY29sdW1uIGlzIG5vdCBOT1QgTlVMTCAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50 ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2UgZ2VuZXJhdGVkIGFsd2F5cyBhcyAo ZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBm b3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKTsKK0VSUk9SOiAgUGVyaW9kIHAg dXNlcyBhIGdlbmVyYXRlZCBjb2x1bW4gdGhhdCBhbGxvd3MgbnVsbHMKK2Ryb3AgdGFibGUgcHQy OworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBj b2x1bW4gaXMgbm90IEdFTkVSQVRFRCAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwg ZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwpOworYWx0ZXIgdGFibGUgcHQy IGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7CitFUlJP UjogIFBlcmlvZCBwIHVzZXMgYSBub24tZ2VuZXJhdGVkIGNvbHVtbgorZHJvcCB0YWJsZSBwdDI7 CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNv bHVtbiBpcyBHRU5FUkFURUQgYnV0IHdpdGggdGhlIHdyb25nIGV4cHJlc3Npb24gKi8KKy0tIFRP RE86CistLSBjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBw IGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZGUsIGRz KSkgc3RvcmVkKTsKKy0tIGFsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUp IHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29s dW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgdGhlIHdyb25nIHR5cGUgKi8KK2NyZWF0 ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgdHNyYW5nZSBub3Qg bnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzICh0c3JhbmdlKGRzLCBkZSkpIHN0b3JlZCk7CithbHRl ciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0 cnVlKTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIGdlbmVyYXRlZCBjb2x1bW4gd2l0aCB0aGUg d3JvbmcgdHlwZQorZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBj b2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBpbmhlcml0ZWQgKi8KK2NyZWF0ZSB0 YWJsZSBwdDJwYXJlbnQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdl IG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQp OworY3JlYXRlIHRhYmxlIHB0MiAoKSBpbmhlcml0cyAocHQycGFyZW50KTsKK2FsdGVyIHRhYmxl IHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOwor RVJST1I6ICBQZXJpb2QgcCB1c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB0aGF0IGlzIGluaGVyaXRl ZAorZHJvcCB0YWJsZSBwdDI7Citkcm9wIHRhYmxlIHB0MnBhcmVudDsKKy8qIENSRUFURSBUQUJM RSAoTElLRSAuLi4pICovCisvKiBQZXJpb2RzIGFyZSBub3QgY29waWVkIGJ5IExJS0UsIHNvIHRo ZWlyIGNvbHVtbnMgYXJlbid0IGVpdGhlciAqLworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCk7 CitcZCBwdDIKKyAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnB0MiIKKyBDb2x1bW4gfCAg VHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgIHwgaW50ZWdlciB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgZHMgICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8 ICAgICAgICAgIHwgCisgZGUgICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwg CisKK2Ryb3AgdGFibGUgcHQyOworLyogQ2FuIGFkZCBhIHBlcmlvZCByZWZlcnJpbmcgdG8gTElL RSdkIGNvbHVtbnMgKi8KK2NyZWF0ZSB0YWJsZSBub3RfcCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwg ZGUgZGF0ZSk7CitjcmVhdGUgdGFibGUgcHQyIChsaWtlIG5vdF9wLCBwZXJpb2QgZm9yIHAgKGRz LCBkZSkpOworXGQgcHQyCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy5wdDIiCisgQ29s dW1uIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICB8IGlu dGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRzICAgICB8IGRhdGUgICAgfCAgICAg ICAgICAgfCAgICAgICAgICB8IAorIGRlICAgICB8IGRhdGUgICAgfCAgICAgICAgICAgfCAgICAg ICAgICB8IAorUGVyaW9kczoKKyAgICBwIChkcywgZGUpCitDaGVjayBjb25zdHJhaW50czoKKyAg ICAicHQyX3BfY2hlY2siIENIRUNLIChkcyA8IGRlKQorCitkcm9wIHRhYmxlIHB0MjsKKy8qIENh biBhZGQgYSBwZXJpb2Qgd2l0aCB0aGUgc2FtZSBuYW1lICovCitjcmVhdGUgdGFibGUgcHQyIChs aWtlIHB0LCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOworXGQgcHQyCisgICAgICAgICAgICAgICAg VGFibGUgInB1YmxpYy5wdDIiCisgQ29sdW1uIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxh YmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLQorIGlkICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8IAor IGRzICAgICB8IGRhdGUgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRlICAgICB8IGRh dGUgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICBwIChkcywgZGUp CitDaGVjayBjb25zdHJhaW50czoKKyAgICAicHQyX3BfY2hlY2siIENIRUNLIChkcyA8IGRlKQor Citkcm9wIHRhYmxlIHB0MjsKKy8qIENhbiBhZGQgYSBwZXJpb2Qgd2l0aCBhIGRpZmZlcmVudCBu YW1lICovCitjcmVhdGUgdGFibGUgcHQyIChsaWtlIHB0LCBwZXJpb2QgZm9yIHAyIChkcywgZGUp KTsKK1xkIHB0MgorICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMucHQyIgorIENvbHVtbiB8 ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgfCBpbnRlZ2Vy IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkcyAgICAgfCBkYXRlICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfCAKKyBkZSAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAgICAg fCAKK1BlcmlvZHM6CisgICAgcDIgKGRzLCBkZSkKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJw dDJfcDJfY2hlY2siIENIRUNLIChkcyA8IGRlKQorCitkcm9wIHRhYmxlIHB0MjsKKy8qIENhbid0 IGFkZCBhIHBlcmlvZCB3aG9zZSBuYW1lIGNvbmZsaWN0cyB3aXRoIGEgTElLRSdkIGNvbHVtbiAq LworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCwgcGVyaW9kIGZvciBpZCAoZHMsIGRlKSk7CitF UlJPUjogIHBlcmlvZCBuYW1lICJpZCIgY29uZmxpY3RzIHdpdGggYSBjb2x1bW4gbmFtZQorLyog Q1JFQVRFIFRBTEJFIElOSEVSSVRTICovCisvKiBDYW4ndCBpbmhlcml0IGZyb20gYSB0YWJsZSB3 aXRoIGEgcGVyaW9kICovCitjcmVhdGUgdGFibGUgcHQyIChuYW1lIHRleHQpIGluaGVyaXRzIChw dCk7CitFUlJPUjogIEluaGVyaXRpbmcgZnJvbSBhIHRhYmxlIHdpdGggYSBQRVJJT0QgaXMgbm90 IHN1cHBvcnRlZAorLyogQ2FuJ3QgaW5oZXJpdCB3aXRoIGEgcGVyaW9kICovCitjcmVhdGUgdGFi bGUgcHQyIChkMnMgZGF0ZSwgZDJlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZDJzLCBkMmUpKSBpbmhl cml0cyAobm90X3ApOworRVJST1I6ICBJbmhlcml0aW5nIGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiBh IHRhYmxlIGhhcyBhIFBFUklPRAorZHJvcCB0YWJsZSBub3RfcDsKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3ByaXZpbGVnZXMub3V0CmluZGV4IDlmZjhlN2ZiMzYzLi40ZjU3NzIxOGNkZiAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dAorKysgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0CkBAIC0xMTM3LDYgKzExMzcs MzUgQEAgU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjM7CiBVUERB VEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEt MDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jl c3NfcHJpdl91c2VyMTsKIERST1AgVEFCTEUgdDE7CistLSB0ZXN0IGNvbHVtbi1sZXZlbCBwcml2 aWxlZ2VzIG9uIHRoZSBQRVJJT0QgdXNlZCBpbiBGT1IgUE9SVElPTiBPRgorU0VUIFNFU1NJT04g QVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CitDUkVBVEUgVEFCTEUgdDEgKAorICBj MSBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gdGltZXN0YW1wLAorICB2YWxpZF90aWwgdGltZXN0 YW1wLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorCUNP TlNUUkFJTlQgdDFwayBQUklNQVJZIEtFWSAoYzEsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CispOworR1JBTlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFNF TEVDVCBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjM7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8g cmVncmVzc19wcml2X3VzZXI0OworR1JBTlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91 c2VyNTsKK0dSQU5UIFVQREFURSAoYzEpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dS QU5UIFVQREFURSAoYzEsIHZhbGlkX2F0KSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjM7CitH UkFOVCBVUERBVEUgKGMxLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIE9OIHQxIFRPIHJlZ3Jlc3Nf cHJpdl91c2VyNDsKK0dSQU5UIFVQREFURSAoYzEsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgdmFs aWRfYXQpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNTsKK1NFVCBTRVNTSU9OIEFVVEhPUkla QVRJT04gcmVncmVzc19wcml2X3VzZXIyOworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOwor RVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgdGFibGUgdDEKK1NFVCBTRVNTSU9OIEFVVEhP UklaQVRJT04gcmVncmVzc19wcml2X3VzZXIzOworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMykn OworRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCBmb3IgdGFibGUgdDEKK1NFVCBTRVNTSU9OIEFV VEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXI0OworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIs MyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjU7CitVUERB VEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEt MDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jl c3NfcHJpdl91c2VyMTsKK0RST1AgVEFCTEUgdDE7CiAtLSB0ZXN0IGNvbHVtbi1sZXZlbCBwcml2 aWxlZ2VzIHdoZW4gaW52b2x2ZWQgd2l0aCBERUxFVEUKIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJ T04gcmVncmVzc19wcml2X3VzZXIxOwogQUxURVIgVEFCTEUgYXRlc3Q2IEFERCBDT0xVTU4gdGhy ZWUgaW50ZWdlcjsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91 dF9vdmVybGFwcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3Zlcmxh cHMub3V0CmluZGV4IDRkOWYyNWFjNDA1Li5lNTQ1ZDBlMzNkNCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0CkBAIC0xNTMsNiArMTUzLDc2IEBA IFNFTEVDVCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29uc3Ry YWludCBXSEVSRSBjb25uYW1lID0gJ3RlCiAgQ1JFQVRFIFVOSVFVRSBJTkRFWCB0ZW1wb3JhbF9y bmcyX3BrIE9OIHRlbXBvcmFsX3JuZzIgVVNJTkcgZ2lzdCAoaWQxLCBpZDIsIHZhbGlkX2F0KQog KDEgcm93KQogCistLSBQSyB3aXRoIG9uZSBjb2x1bW4gcGx1cyBhIFBFUklPRDoKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9wZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbF9wZXIKKyAgICAgICAg ICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfcGVyIgorICAgQ29sdW1uICAgfCAgIFR5cGUg ICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50 NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAg IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX3Blcl9wayIgUFJJTUFSWSBLRVkg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAg InRlbXBvcmFsX3Blcl92YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90 aWwpCisKK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWlu dCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3Blcl9wayc7CisgICAgICAgICAgICBwZ19nZXRf Y29uc3RyYWludGRlZiAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKygxIHJvdykKKworU0VMRUNUIHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1 ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyX3BrJzsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdfZ2V0X2luZGV4ZGVmICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDUkVBVEUg VU5JUVVFIElOREVYIHRlbXBvcmFsX3Blcl9wayBPTiB0ZW1wb3JhbF9wZXIgVVNJTkcgZ2lzdCAo aWQsIHZhbGlkX2F0KQorKDEgcm93KQorCistLSBQSyB3aXRoIHR3byBjb2x1bW5zIHBsdXMgYSBQ RVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMiAoCisgIGlkMSBpbnQ0cmFuZ2UsCisg IGlkMiBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfcGVyMl9wayBQUklNQVJZIEtFWSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhP VVQgT1ZFUkxBUFMpCispOworXGQgdGVtcG9yYWxfcGVyMgorICAgICAgICAgICAgICBUYWJsZSAi cHVibGljLnRlbXBvcmFsX3BlcjIiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlv biB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkMSAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAg ICAgICAgfCBub3QgbnVsbCB8IAorIGlkMiAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAg fCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAg ICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8 IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhl czoKKyAgICAidGVtcG9yYWxfcGVyMl9wayIgUFJJTUFSWSBLRVkgKGlkMSwgaWQyLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX3Bl cjJfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQorCitTRUxF Q1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29u bmFtZSA9ICd0ZW1wb3JhbF9wZXIyX3BrJzsKKyAgICAgICAgICAgICAgIHBnX2dldF9jb25zdHJh aW50ZGVmICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgUFJJTUFSWSBLRVkgKGlkMSwgaWQyLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKQorKDEgcm93KQorCitTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlk LCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9w ZXIyX3BrJzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dldF9pbmRl eGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgQ1JFQVRFIFVOSVFVRSBJTkRFWCB0ZW1wb3JhbF9wZXIyX3BrIE9O IHRlbXBvcmFsX3BlcjIgVVNJTkcgZ2lzdCAoaWQxLCBpZDIsIHZhbGlkX2F0KQorKDEgcm93KQor CiAtLSBQSyB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGU6CiBDUkVBVEUgVFlQRSB0ZXh0cmFuZ2Uy IEFTIHJhbmdlIChzdWJ0eXBlPXRleHQsIGNvbGxhdGlvbj0iQyIpOwogQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX3JuZzMgKApAQCAtMzAwLDYgKzM3MCw3OCBAQCBTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVm KGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0 ZQogKDEgcm93KQogCiBEUk9QIFRBQkxFIHRlbXBvcmFsX3JuZzM7CistLSBVTklRVUUgd2l0aCBv bmUgY29sdW1uIHBsdXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMyAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CispOworXGQgdGVtcG9yYWxfcGVyMworICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBv cmFsX3BlcjMiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxl IHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAg ICAgICB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8 IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVy aW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAg ICAidGVtcG9yYWxfcGVyM191cSIgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UykKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9wZXIzX3ZhbGlkX2F0X2NoZWNr IiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKKworU0VMRUNUIHBnX2dldF9jb25zdHJh aW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxf cGVyM191cSc7CisgICAgICAgICAgcGdfZ2V0X2NvbnN0cmFpbnRkZWYgICAgICAgICAgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgVU5JUVVFIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUykKKygxIHJvdykKKworU0VMRUNUIHBnX2dldF9pbmRleGRlZihj b25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVt cG9yYWxfcGVyM191cSc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZ19nZXRf aW5kZXhkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIENSRUFURSBVTklRVUUgSU5ERVggdGVtcG9yYWxfcGVyM191cSBPTiB0ZW1w b3JhbF9wZXIzIFVTSU5HIGdpc3QgKGlkLCB2YWxpZF9hdCkKKygxIHJvdykKKworRFJPUCBUQUJM RSB0ZW1wb3JhbF9wZXIzOworLS0gVU5JUVVFIHdpdGggdHdvIGNvbHVtbnMgcGx1cyBhIFBFUklP RDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIzICgKKyAgaWQxIGludDRyYW5nZSwKKyAgaWQy IGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVS SU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpCispOworXGQgdGVtcG9yYWxfcGVyMworICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRl bXBvcmFsX3BlcjMiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxh YmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLQorIGlkMSAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAg ICAgICAgICB8IAorIGlkMiAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAg ICB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAor IHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9k czoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAi dGVtcG9yYWxfcGVyM191cSIgVU5JUVVFIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9wZXIzX3ZhbGlkX2F0X2No ZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKKworU0VMRUNUIHBnX2dldF9jb25z dHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9y YWxfcGVyM191cSc7CisgICAgICAgICAgICAgcGdfZ2V0X2NvbnN0cmFpbnRkZWYgICAgICAgICAg ICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgVU5J UVVFIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKygxIHJvdykKKworU0VM RUNUIHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50 IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyM191cSc7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwZ19nZXRfaW5kZXhkZWYgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENSRUFURSBVTklR VUUgSU5ERVggdGVtcG9yYWxfcGVyM191cSBPTiB0ZW1wb3JhbF9wZXIzIFVTSU5HIGdpc3QgKGlk MSwgaWQyLCB2YWxpZF9hdCkKKygxIHJvdykKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIzOwog LS0gVU5JUVVFIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZToKIENSRUFURSBUWVBFIHRleHRyYW5n ZTIgQVMgcmFuZ2UgKHN1YnR5cGU9dGV4dCwgY29sbGF0aW9uPSJDIik7CiBDUkVBVEUgVEFCTEUg dGVtcG9yYWxfcm5nMyAoCkBAIC0zNzcsNiArNTE5LDEwNiBAQCBBTFRFUiBUQUJMRSB0ZW1wb3Jh bDMKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWwzX3VxCiAgIFVOSVFVRSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpOwogRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CistLSBQUklNQVJZIEtF WSB3aXRoIFBFUklPRCBhbHJlYWR5IHRoZXJlCitDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKKyAg aWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQ RVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCispOworQUxURVIgVEFC TEUgdGVtcG9yYWwzCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsM19waworICBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworXGQgdGVtcG9yYWwzCisgICAgICAg ICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbDMiCisgICBDb2x1bW4gICB8ICAgVHlwZSAg ICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0 cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAg fCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAg ICAgICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwg dmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWwzX3BrIiBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVt cG9yYWwzX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKKwor RFJPUCBUQUJMRSB0ZW1wb3JhbDM7CistLSBQUklNQVJZIEtFWSB3aXRoIFBFUklPRCB0b28KK0NS RUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0 ZSwKKyAgdmFsaWRfdGlsIGRhdGUKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQUREIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIEFERCBDT05TVFJB SU5UIHRlbXBvcmFsM19waworICBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpOworXGQgdGVtcG9yYWwzCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1w b3JhbDMiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwg RGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVs bCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAor IHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9k czoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAi dGVtcG9yYWwzX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWwzX3ZhbGlkX2F0X2NoZWNrIiBDSEVD SyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKKworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CistLSBV TklRVUUgd2l0aCBQRVJJT0QgYWxyZWFkeSB0aGVyZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAo CisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwK KyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorKTsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsMworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfdXEKKyAgVU5JUVVF IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3JhbDMKKyAgICAgICAg ICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsMyIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAg IHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRy YW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAg ICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2 YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbDNfdXEiIFVOSVFVRSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWwz X3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKKworRFJPUCBU QUJMRSB0ZW1wb3JhbDM7CistLSBVTklRVUUgd2l0aCBQRVJJT0QgdG9vCitDUkVBVEUgVEFCTEUg dGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bDNfdXEKKyAgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1w b3JhbDMKKyAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsMyIKKyAgIENvbHVt biAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQg ICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfZnJv bSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRh dGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbDNfdXEiIFVO SVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoK KyAgICAidGVtcG9yYWwzX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlk X3RpbCkKKworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAtLQogLS0gcmFuZ2UgUEs6IHRlc3Qgd2l0 aCBleGlzdGluZyByb3dzCiAtLQpAQCAtODc0LDYgKzExMTYsMjg0IEBAIFNFTEVDVCAqIEZST00g dGVtcG9yYWxfbWx0cm5nMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CiAKIERST1AgVEFCTEUgdGVt cG9yYWxfbWx0cm5nMzsKIC0tCistLSBQRVJJT0QgUEs6IHRlc3Qgd2l0aCBleGlzdGluZyByb3dz CistLQorQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9w ZXJfcGs7CistLSBva2F5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0Jyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMp JywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDE4LTAxLTAx JywgTlVMTCk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfcGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wazsK Ky0tIHNob3VsZCBmYWlsOgorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcy MDE4LTAxLTA1Jyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KTsKK0VSUk9SOiAgY291bGQgbm90IGNyZWF0ZSBleGNsdXNpb24gY29uc3RyYWludCAidGVtcG9y YWxfcGVyX3BrIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEt MDIsMjAxOC0wMi0wMykpIGNvbmZsaWN0cyB3aXRoIGtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiks IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDUpKS4KK1JPTExCQUNLOworLS0gcmVqZWN0cyBlbXB0eToK K0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgRFJPUCBQRVJJT0QgRk9SIHZhbGlk X2F0OworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMjAtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworICBBTFRF UiBUQUJMRSB0ZW1wb3JhbF9wZXIgQUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCk7CitFUlJPUjogIGNoZWNrIGNvbnN0cmFpbnQgInRlbXBvcmFsX3Blcl92YWxp ZF9hdF9jaGVjayIgb2YgcmVsYXRpb24gInRlbXBvcmFsX3BlciIgaXMgdmlvbGF0ZWQgYnkgc29t ZSByb3cKK1JPTExCQUNLOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX3Blcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyOworLS0KKy0tIFBFUklPRCBQSzogdGVzdCBp bnNlcnRzCistLQorLS0gb2theToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAy LTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0w MS0wMScsIE5VTEwpOworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDEn LCAnMjAxOC0wMS0wNScpOworRVJST1I6ICBjb25mbGljdGluZyBrZXkgdmFsdWUgdmlvbGF0ZXMg ZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFsX3Blcl9wayIKK0RFVEFJTDogIEtleSAoaWQs IHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAxLDIwMTgtMDEtMDUpKSBjb25mbGljdHMgd2l0 aCBleGlzdGluZyBrZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTAy LTAzKSkuCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoTlVMTCwgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworRVJST1I6ICBu dWxsIHZhbHVlIGluIGNvbHVtbiAiaWQiIG9mIHJlbGF0aW9uICJ0ZW1wb3JhbF9wZXIiIHZpb2xh dGVzIG5vdC1udWxsIGNvbnN0cmFpbnQKK0RFVEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zIChu dWxsLCAyMDE4LTAxLTAxLCAyMDE4LTAxLTA1LCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KSkuCist LSByZWplY3RzIGVtcHR5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIwLTAxLTAxJywgJzIwMjAtMDEtMDEn KTsKK0VSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMg Y2hlY2sgY29uc3RyYWludCAidGVtcG9yYWxfcGVyX3ZhbGlkX2F0X2NoZWNrIgorREVUQUlMOiAg RmFpbGluZyByb3cgY29udGFpbnMgKFszLDQpLCAyMDIwLTAxLTAxLCAyMDIwLTAxLTAxLCBlbXB0 eSkuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg IGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsxLDIpIHwgMjAxOC0wMS0wMiB8IDIwMTgtMDItMDMKKyBbMSwyKSB8IDIw MTgtMDMtMDMgfCAyMDE4LTA0LTA0CisgWzIsMykgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wNQor IFszLDQpIHwgMjAxOC0wMS0wMSB8IAorKDQgcm93cykKKworLS0KKy0tIFBFUklPRCBQSzogdGVz dCB1cGRhdGVzCistLQorLS0gdXBkYXRlIHRoZSBzY2FsYXIgcGFydAorVVBEQVRFICB0ZW1wb3Jh bF9wZXIKK1NFVCAgICAgaWQgPSAnWzExLDEyKScKK1dIRVJFICAgaWQgPSAnWzEsMiknCitBTkQg ICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0ZSB0aGUgUEVSSU9E IGJvdW5kcworVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgdmFsaWRfZnJvbSA9ICcyMDIw LTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjEtMDEtMDEnCitXSEVSRSAgIGlkID0g J1sxMSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVw ZGF0ZSBib3RoIGF0IG9uY2UKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sy MSwyMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLAorICAgICAgICB2YWxp ZF90aWwgPSAnMjAxOC0wMi0wMycKK1dIRVJFICAgaWQgPSAnWzExLDEyKScKK0FORCAgICAgdmFs aWRfYXQgQD4gJzIwMjAtMDEtMTUnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgaWQgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgICB8IDIwMTgt MDMtMDMgfCAyMDE4LTA0LTA0CisgWzIsMykgICB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1Cisg WzMsNCkgICB8IDIwMTgtMDEtMDEgfCAKKyBbMjEsMjIpIHwgMjAxOC0wMS0wMiB8IDIwMTgtMDIt MDMKKyg0IHJvd3MpCisKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NF VCAgICAgaWQgPSAnWzEsMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDMtMDUnLAor ICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wNS0wNScKK1dIRVJFICAgaWQgPSAnWzIxLDIyKSc7 CitFUlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2aW9sYXRlcyBleGNsdXNpb24gY29uc3Ry YWludCAidGVtcG9yYWxfcGVyX3BrIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwy KSwgWzIwMTgtMDMtMDUsMjAxOC0wNS0wNSkpIGNvbmZsaWN0cyB3aXRoIGV4aXN0aW5nIGtleSAo aWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAzLTAzLDIwMTgtMDQtMDQpKS4KKy0tIHNldCB0 aGUgc2NhbGFyIHBhcnQgdG8gTlVMTAorVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgaWQg PSBOVUxMLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDMtMDUnLAorICAgICAgICB2YWxp ZF90aWwgPSAnMjAxOC0wNS0wNScKK1dIRVJFICAgaWQgPSAnWzIxLDIyKSc7CitFUlJPUjogIG51 bGwgdmFsdWUgaW4gY29sdW1uICJpZCIgb2YgcmVsYXRpb24gInRlbXBvcmFsX3BlciIgdmlvbGF0 ZXMgbm90LW51bGwgY29uc3RyYWludAorREVUQUlMOiAgRmFpbGluZyByb3cgY29udGFpbnMgKG51 bGwsIDIwMTgtMDMtMDUsIDIwMTgtMDUtMDUsIFsyMDE4LTAzLTA1LDIwMTgtMDUtMDUpKS4KKy0t IHNldCBhIFBFUklPRCBib3VuZCB0byBOVUxMIChva2F5KQorVVBEQVRFICB0ZW1wb3JhbF9wZXIK K1NFVCAgICAgaWQgPSAnWzEsMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDQtMDQn LAorICAgICAgICB2YWxpZF90aWwgPSBOVUxMCitXSEVSRSAgIGlkID0gJ1syMSwyMiknOworLS0g cmVqZWN0cyBlbXB0eToKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1syMSwy MiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAorICAgICAgICB2YWxpZF90 aWwgPSAnMjAyMC0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzEsMiknOworRVJST1I6ICBuZXcgcm93 IGZvciByZWxhdGlvbiAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJ0 ZW1wb3JhbF9wZXJfdmFsaWRfYXRfY2hlY2siCitERVRBSUw6ICBGYWlsaW5nIHJvdyBjb250YWlu cyAoWzIxLDIyKSwgMjAyMC0wMS0wMSwgMjAyMC0wMS0wMSwgZW1wdHkpLgorU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwy KSB8IDIwMTgtMDMtMDMgfCAyMDE4LTA0LTA0CisgWzEsMikgfCAyMDE4LTA0LTA0IHwgCisgWzIs MykgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wNQorIFszLDQpIHwgMjAxOC0wMS0wMSB8IAorKDQg cm93cykKKworLS0KKy0tIFBFUklPRCBVUTogdGVzdCB3aXRoIGV4aXN0aW5nIHJvd3MKKy0tCitD UkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJv bSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKQorKTsKKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIz IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAy JywgJzIwMTgtMDItMDMnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0w NCcpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb Myw0KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKE5VTEwsICcyMDE4LTAxLTAxJywgJzIw MTgtMDEtMDUnKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXE7 CistLSBzaG91bGQgZmFpbDoKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAxJywg JzIwMTgtMDEtMDUnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp OworRVJST1I6ICBjb3VsZCBub3QgY3JlYXRlIGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9wZXIzX3VxIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEt MDIsMjAxOC0wMi0wMykpIGNvbmZsaWN0cyB3aXRoIGtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiks IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDUpKS4KK1JPTExCQUNLOworLS0gcmVqZWN0cyBlbXB0eToK K0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIERST1AgUEVSSU9EIEZPUiB2YWxp ZF9hdDsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CisgIEFM VEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMgQUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zy b20sIHZhbGlkX3RpbCk7CitFUlJPUjogIGNoZWNrIGNvbnN0cmFpbnQgInRlbXBvcmFsX3BlcjNf dmFsaWRfYXRfY2hlY2siIG9mIHJlbGF0aW9uICJ0ZW1wb3JhbF9wZXIzIiBpcyB2aW9sYXRlZCBi eSBzb21lIHJvdworUk9MTEJBQ0s7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIzOworLS0KKy0tIFBFUklPRCBVUTogdGVz dCBpbnNlcnRzCistLQorLS0gb2theToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAx OC0wMi0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0Jyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywg JzIwMTgtMDEtMDEnLCBOVUxMKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoTlVMTCwgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0w NScpOworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIwMTgt MDEtMDUnKTsKK0VSUk9SOiAgY29uZmxpY3Rpbmcga2V5IHZhbHVlIHZpb2xhdGVzIGV4Y2x1c2lv biBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXIzX3VxIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRf YXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSkpIGNvbmZsaWN0cyB3aXRoIGV4aXN0 aW5nIGtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpKS4K Ky0tIHJlamVjdHMgZW1wdHk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIwLTAxLTAxJywgJzIwMjAtMDEt MDEnKTsKK0VSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInRlbXBvcmFsX3BlcjMiIHZpb2xh dGVzIGNoZWNrIGNvbnN0cmFpbnQgInRlbXBvcmFsX3BlcjNfdmFsaWRfYXRfY2hlY2siCitERVRB SUw6ICBGYWlsaW5nIHJvdyBjb250YWlucyAoWzMsNCksIDIwMjAtMDEtMDEsIDIwMjAtMDEtMDEs IGVtcHR5KS4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAxOC0wMS0wMiB8IDIwMTgtMDItMDMKKyBbMSwy KSB8IDIwMTgtMDMtMDMgfCAyMDE4LTA0LTA0CisgWzIsMykgfCAyMDE4LTAxLTAxIHwgMjAxOC0w MS0wNQorIFszLDQpIHwgMjAxOC0wMS0wMSB8IAorICAgICAgIHwgMjAxOC0wMS0wMSB8IDIwMTgt MDEtMDUKKyg1IHJvd3MpCisKKy0tCistLSBQRVJJT0QgVVE6IHRlc3QgdXBkYXRlcworLS0KKy0t IHVwZGF0ZSB0aGUgc2NhbGFyIHBhcnQKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBp ZCA9ICdbMTEsMTIpJworV0hFUkUgICBpZCA9ICdbMSwyKScKK0FORCAgICAgdmFsaWRfYXQgQD4g JzIwMTgtMDEtMTUnOjpkYXRlOworLS0gdXBkYXRlIHRoZSBQRVJJT0QgYm91bmRzCitVUERBVEUg IHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAg ICAgdmFsaWRfdGlsID0gJzIwMjEtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxMSwxMiknCitBTkQg ICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0ZSBib3RoIGF0IG9u Y2UKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAg ICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgt MDItMDMnCitXSEVSRSAgIGlkID0gJ1sxMSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDIw LTAxLTE1Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgICBpZCAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSAgIHwgMjAxOC0wMy0wMyB8IDIwMTgt MDQtMDQKKyBbMiwzKSAgIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyBbMyw0KSAgIHwgMjAx OC0wMS0wMSB8IAorIFsyMSwyMikgfCAyMDE4LTAxLTAyIHwgMjAxOC0wMi0wMworICAgICAgICAg fCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wNQorKDUgcm93cykKKworLS0gc2hvdWxkIGZhaWw6CitV UERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQgPSAnWzEsMiknLAorICAgICAgICB2YWxp ZF9mcm9tID0gJzIwMTgtMDMtMDUnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wNS0wNScK K1dIRVJFICAgaWQgPSAnWzIxLDIyKSc7CitFUlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2 aW9sYXRlcyBleGNsdXNpb24gY29uc3RyYWludCAidGVtcG9yYWxfcGVyM191cSIKK0RFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAzLTA1LDIwMTgtMDUtMDUpKSBjb25m bGljdHMgd2l0aCBleGlzdGluZyBrZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMy0w MywyMDE4LTA0LTA0KSkuCistLSBzZXQgdGhlIHNjYWxhciBwYXJ0IHRvIE5VTEwgKG9rYXkpCitV UERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQgPSBOVUxMLAorICAgICAgICB2YWxpZF9m cm9tID0gJzIwMjAtMDEtMDEnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAyMS0wMS0wMScKK1dI RVJFICAgaWQgPSAnWzIxLDIyKSc7CistLSBzZXQgYSBQRVJJT0QgYm91bmQgdG8gTlVMTCAob2th eSkKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9ICdbMSwyKScsCisgICAgICAg IHZhbGlkX2Zyb20gPSAnMjAxOC0wNC0wNCcsCisgICAgICAgIHZhbGlkX3RpbCA9IE5VTEwKK1dI RVJFICAgaWQgSVMgTlVMTCBBTkQgdmFsaWRfYXQgQD4gJzIwMjAtMDYtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8 IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEsMikgfCAyMDE4LTAzLTAzIHwgMjAxOC0wNC0wNAorIFsxLDIpIHwgMjAxOC0wNC0w NCB8IAorIFsyLDMpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyBbMyw0KSB8IDIwMTgtMDEt MDEgfCAKKyAgICAgICB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1CisoNSByb3dzKQorCistLSBz aG91bGQgZmFpbDoKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICB2YWxpZF9mcm9tID0g JzIwMTgtMDMtMDEnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wNS0wNScKK1dIRVJFICAg aWQgPSAnWzEsMiknIEFORCB2YWxpZF90aWwgSVMgTlVMTDsKK0VSUk9SOiAgY29uZmxpY3Rpbmcg a2V5IHZhbHVlIHZpb2xhdGVzIGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXIzX3Vx IgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDMtMDEsMjAxOC0w NS0wNSkpIGNvbmZsaWN0cyB3aXRoIGV4aXN0aW5nIGtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiks IFsyMDE4LTAzLTAzLDIwMTgtMDQtMDQpKS4KKy0tIHJlamVjdHMgZW1wdHk6CitVUERBVEUgIHRl bXBvcmFsX3BlcjMKK1NFVCAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAg dmFsaWRfdGlsID0gJzIwMjAtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRf dGlsIElTIE5VTEw7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJ0ZW1wb3JhbF9wZXIz IiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXIzX3ZhbGlkX2F0X2NoZWNr IgorREVUQUlMOiAgRmFpbGluZyByb3cgY29udGFpbnMgKFsxLDIpLCAyMDIwLTAxLTAxLCAyMDIw LTAxLTAxLCBlbXB0eSkuCistLSBzdGlsbCByZWplY3RzIGVtcHR5IHdoZW4gc2NhbGFyIHBhcnQg aXMgTlVMTDoKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9IE5VTEwsCisgICAg ICAgIHZhbGlkX2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIw LTAxLTAxJworV0hFUkUgICBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX3RpbCBJUyBOVUxMOworRVJS T1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAidGVtcG9yYWxfcGVyMyIgdmlvbGF0ZXMgY2hlY2sg Y29uc3RyYWludCAidGVtcG9yYWxfcGVyM192YWxpZF9hdF9jaGVjayIKK0RFVEFJTDogIEZhaWxp bmcgcm93IGNvbnRhaW5zIChudWxsLCAyMDIwLTAxLTAxLCAyMDIwLTAxLTAxLCBlbXB0eSkuCitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAg IHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0KKyBbMSwyKSB8IDIwMTgtMDMtMDMgfCAyMDE4LTA0LTA0CisgWzEsMikgfCAyMDE4LTA0 LTA0IHwgCisgWzIsMykgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wNQorIFszLDQpIHwgMjAxOC0w MS0wMSB8IAorICAgICAgIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyg1IHJvd3MpCisKK0RS T1AgVEFCTEUgdGVtcG9yYWxfcGVyMzsKKy0tCiAtLSB0ZXN0IGEgcmFuZ2Ugd2l0aCBib3RoIGEg UEsgYW5kIGEgVU5JUVVFIGNvbnN0cmFpbnQKIC0tCiBDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgK QEAgLTkzMyw2ICsxNDUzLDkxIEBAIEVSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgaXMgaW4gYSBw cmltYXJ5IGtleQogQUxURVIgVEFCTEUgdGVtcG9yYWwzIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBU WVBFIHRzdHpyYW5nZSBVU0lORyB0c3R6cmFuZ2UobG93ZXIodmFsaWRfYXQpLCB1cHBlcih2YWxp ZF9hdCkpOwogQUxURVIgVEFCTEUgdGVtcG9yYWwzIFJFTkFNRSBDT0xVTU4gdmFsaWRfYXQgVE8g dmFsaWRfdGhydTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2YWxpZF90aHJ1 OworXGQgdGVtcG9yYWwzCisgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWwzIgor IENvbHVtbiB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQg ICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKworRFJPUCBUQUJMRSB0 ZW1wb3JhbDM7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsM19wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworXGQgdGVtcG9yYWwz CisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbDMiCisgICBDb2x1bW4gICB8 ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAg ICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBk YXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWwzX3BrIiBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoK KyAgICAidGVtcG9yYWwzX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlk X3RpbCkKKworU0VMRUNUIGF0dG5vdG51bGwgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0cmVs aWQgPSAndGVtcG9yYWwzJzo6cmVnY2xhc3MgQU5EIGF0dG5hbWUgPSAndmFsaWRfYXQnOworIGF0 dG5vdG51bGwgCistLS0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisKK0FMVEVSIFRBQkxFIHRlbXBv cmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgRFJPUCBOT1QgTlVMTDsKK0VSUk9SOiAgY29sdW1u ICJ2YWxpZF9hdCIgaXMgaW4gYSBwcmltYXJ5IGtleQorQUxURVIgVEFCTEUgdGVtcG9yYWwzIEFM VEVSIENPTFVNTiB2YWxpZF9hdCBUWVBFIHRzdHpyYW5nZSBVU0lORyB0c3R6cmFuZ2UobG93ZXIo dmFsaWRfYXQpLCB1cHBlcih2YWxpZF9hdCkpOworRVJST1I6ICBjYW5ub3Qgc3BlY2lmeSBVU0lO RyB3aGVuIGFsdGVyaW5nIHR5cGUgb2YgZ2VuZXJhdGVkIGNvbHVtbgorTElORSAxOiBBTFRFUiBU QUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0IFRZUEUgdHN0enJhbmdlIFUuLi4K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCitERVRBSUw6ICBD b2x1bW4gInZhbGlkX2F0IiBpcyBhIGdlbmVyYXRlZCBjb2x1bW4uCitBTFRFUiBUQUJMRSB0ZW1w b3JhbDMgRFJPUCBDT0xVTU4gdmFsaWRfYXQ7CitFUlJPUjogIGNhbm5vdCBkcm9wIGNvbHVtbiB2 YWxpZF9hdCBvZiB0YWJsZSB0ZW1wb3JhbDMgYmVjYXVzZSBwZXJpb2QgdmFsaWRfYXQgb24gdGFi bGUgdGVtcG9yYWwzIHJlcXVpcmVzIGl0CitISU5UOiAgWW91IGNhbiBkcm9wIHBlcmlvZCB2YWxp ZF9hdCBvbiB0YWJsZSB0ZW1wb3JhbDMgaW5zdGVhZC4KK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBE Uk9QIFBFUklPRCBGT1IgdmFsaWRfYXQ7CitcZCB0ZW1wb3JhbDMKKyAgICAgICAgICAgICAgICBU YWJsZSAicHVibGljLnRlbXBvcmFsMyIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0 aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAg ICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAg ICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAg ICAgICAgIHwgCisKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworLS0gU2FtZSByZXN1bHRzIGlmIHdl IGFkZCB0aGUgUEVSSU9EIGFuZCBQSyBmcm9tIEFMVEVSIFRBQkxFOgorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgUEVSSU9EIEZPUiB2YWxp ZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWwz X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1w b3JhbDMKKyAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsMyIKKyAgIENvbHVt biAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQg ICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJv bSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRh dGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbDNfcGsiIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFp bnRzOgorICAgICJ0ZW1wb3JhbDNfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwg dmFsaWRfdGlsKQorCitTRUxFQ1QgYXR0bm90bnVsbCBGUk9NIHBnX2F0dHJpYnV0ZSBXSEVSRSBh dHRyZWxpZCA9ICd0ZW1wb3JhbDMnOjpyZWdjbGFzcyBBTkQgYXR0bmFtZSA9ICd2YWxpZF9hdCc7 CisgYXR0bm90bnVsbCAKKy0tLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKworQUxURVIgVEFCTEUg dGVtcG9yYWwzIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBEUk9QIE5PVCBOVUxMOworRVJST1I6ICBj b2x1bW4gInZhbGlkX2F0IiBpcyBpbiBhIHByaW1hcnkga2V5CiBEUk9QIFRBQkxFIHRlbXBvcmFs MzsKIC0tCiAtLSB0ZXN0IFBBUlRJVElPTiBCWSBmb3IgcmFuZ2VzCkBAIC0xNDE0LDMyICsyMDE5 LDIzNiBAQCBTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX21sdHJuZzMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OwogCiBEUk9QIFRBQkxFIHRlbXBvcmFsX21sdHJuZzM7CiAtLQotLS0gdGVzdCBGSyBkZXBl bmRlbmNpZXMKLS0tCi0tLSBjYW4ndCBkcm9wIGEgcmFuZ2UgcmVmZXJlbmNlZCBieSBhbiBGSywg dW5sZXNzIHdpdGggQ0FTQ0FERQotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCi0gIGlkIGludDRy YW5nZSwKLSAgdmFsaWRfYXQgZGF0ZXJhbmdlLAotICBDT05TVFJBSU5UIHRlbXBvcmFsM19wayBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCi0pOwotQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcgKAotICBpZCBpbnQ0cmFuZ2UsCi0gIHZhbGlkX2F0IGRh dGVyYW5nZSwKLSAgcGFyZW50X2lkIGludDRyYW5nZSwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks Ci0gIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCi0gICAgUkVGRVJFTkNFUyB0ZW1wb3JhbDMgKGlkLCBQRVJJ T0QgdmFsaWRfYXQpCi0pOwotQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgQ09MVU1OIHZhbGlk X2F0OwotRVJST1I6ICBjYW5ub3QgZHJvcCBjb2x1bW4gdmFsaWRfYXQgb2YgdGFibGUgdGVtcG9y YWwzIGJlY2F1c2Ugb3RoZXIgb2JqZWN0cyBkZXBlbmQgb24gaXQKLURFVEFJTDogIGNvbnN0cmFp bnQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mayBvbiB0YWJsZSB0ZW1wb3JhbF9ma19ybmcycm5nIGRl cGVuZHMgb24gY29sdW1uIHZhbGlkX2F0IG9mIHRhYmxlIHRlbXBvcmFsMwotSElOVDogIFVzZSBE Uk9QIC4uLiBDQVNDQURFIHRvIGRyb3AgdGhlIGRlcGVuZGVudCBvYmplY3RzIHRvby4KLUFMVEVS IFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2YWxpZF9hdCBDQVNDQURFOwotTk9USUNFOiAg ZHJvcCBjYXNjYWRlcyB0byBjb25zdHJhaW50IHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsgb24gdGFi bGUgdGVtcG9yYWxfZmtfcm5nMnJuZwotRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nOwot RFJPUCBUQUJMRSB0ZW1wb3JhbDM7CistLSBPTiBDT05GTElDVDogUEVSSU9EcwogLS0KLS0tIHRl c3QgRk9SRUlHTiBLRVksIHJhbmdlIHJlZmVyZW5jZXMgcmFuZ2UKK1RSVU5DQVRFIHRlbXBvcmFs X3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRo IGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04g Q09ORkxJQ1QgRE8gTk9USElORzsKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJ Tkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUt MDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworICBp ZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMSwyKSB8IDIwMDAtMDEtMDEgfCAyMDEwLTAxLTAxCisgWzEsMikgfCAyMDEw LTAxLTAxIHwgMjAyMC0wMS0wMQorIFsyLDMpIHwgMjAwNS0wMS0wMSB8IDIwMDYtMDEtMDEKKygz IHJvd3MpCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0w MScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAw NS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9U SElORzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50 IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCistLSBpZCBtYXRjaGVzIGJ1 dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBP TiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBOT1RISU5HOworRVJST1I6ICB0aGVyZSBpcyBu byB1bmlxdWUgb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNU IHNwZWNpZmljYXRpb24KKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIs MyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9h dCkgRE8gTk9USElORzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBj b25zdHJhaW50IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOwor ICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMDAtMDEtMDEgfCAyMDEwLTAxLTAxCisoMSByb3cpCisK K1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEw LTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScs ICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsg RE8gTk9USElORzsKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywg JzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVt cG9yYWxfcGVyX3BrIERPIE5PVEhJTkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9O IENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIE5PVEhJTkc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworICBpZCAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0KKyBbMSwyKSB8IDIwMDAtMDEtMDEgfCAyMDEwLTAxLTAxCisgWzEsMikgfCAyMDEwLTAxLTAx IHwgMjAyMC0wMS0wMQorIFsyLDMpIHwgMjAwNS0wMS0wMSB8IDIwMDYtMDEtMDEKKygzIHJvd3Mp CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcy MDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0w MScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gVVBEQVRFIFNF VCBpZCA9IEVYQ0xVREVELmlkICsgJ1syLDMpJzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVl IG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBzcGVjaWZp Y2F0aW9uCistLSBpZCBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEw LTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBVUERB VEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzMsNCknOworRVJST1I6ICB0aGVyZSBpcyBubyB1 bmlxdWUgb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNw ZWNpZmljYXRpb24KKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMykn LCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkg RE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1s0LDUpJzsKK0VSUk9SOiAgdGhlcmUg aXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50IG1hdGNoaW5nIHRoZSBPTiBDT05G TElDVCBzcGVjaWZpY2F0aW9uCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3Rp bCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMDAtMDEt MDEgfCAyMDEwLTAxLTAxCisoMSByb3cpCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04g Q09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlk ICsgJ1syLDMpJzsKK0VSUk9SOiAgT04gQ09ORkxJQ1QgRE8gVVBEQVRFIG5vdCBzdXBwb3J0ZWQg d2l0aCBleGNsdXNpb24gY29uc3RyYWludHMKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIE9O IENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5p ZCArICdbMyw0KSc7CitFUlJPUjogIE9OIENPTkZMSUNUIERPIFVQREFURSBub3Qgc3VwcG9ydGVk IHdpdGggZXhjbHVzaW9uIGNvbnN0cmFpbnRzCistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZs aWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNU IE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURF RC5pZCArICdbNCw1KSc7CitFUlJPUjogIE9OIENPTkZMSUNUIERPIFVQREFURSBub3Qgc3VwcG9y dGVkIHdpdGggZXhjbHVzaW9uIGNvbnN0cmFpbnRzCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Bl ciBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworICBpZCAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwy KSB8IDIwMDAtMDEtMDEgfCAyMDEwLTAxLTAxCisoMSByb3cpCisKKy0tIHdpdGggYSBVTklRVUUg Y29uc3RyYWludDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIzICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bl cjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitUUlVOQ0FU RSB0ZW1wb3JhbF9wZXIzOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAx Jyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAw Ni0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBubyBj b25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09O RkxJQ1QgRE8gTk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJ Tkc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0w MQorIFsxLDIpIHwgMjAxMC0wMS0wMSB8IDIwMjAtMDEtMDEKKyBbMiwzKSB8IDIwMDUtMDEtMDEg fCAyMDA2LTAxLTAxCisoMyByb3dzKQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIzOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChp ZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBl eGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlv bgorLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEt MDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7 CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRj aGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorLS0gZGF0ZSBtYXRjaGVzIGJ1dCBu byBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04g Q09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElORzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8g dW5pcXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBz cGVjaWZpY2F0aW9uCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAor LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwg MjAxMC0wMS0wMQorKDEgcm93KQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIzOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEs MiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENP TlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQg bm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9O IENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBOT1RISU5HOworLS0g ZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScs ICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3Vx IERPIE5PVEhJTkc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAor LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwg MjAxMC0wMS0wMQorIFsxLDIpIHwgMjAxMC0wMS0wMSB8IDIwMjAtMDEtMDEKKyBbMiwzKSB8IDIw MDUtMDEtMDEgfCAyMDA2LTAxLTAxCisoMyByb3dzKQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIz OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEg Y29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENP TkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdb MiwzKSc7CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWlu dCBtYXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorLS0gaWQgbWF0Y2hlcyBi dXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScp IE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5p ZCArICdbMyw0KSc7CitFUlJPUjogIHRoZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29u c3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorLS0gZGF0ZSBt YXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2 LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gVVBEQVRFIFNFVCBpZCA9IEVY Q0xVREVELmlkICsgJ1s0LDUpJzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1 c2lvbiBjb25zdHJhaW50IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAxLTAxIHwgMjAxMC0wMS0wMQorKDEg cm93KQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIzOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0w MScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIw MDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9y YWxfcGVyM191cSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzIsMyknOworRVJS T1I6ICBPTiBDT05GTElDVCBETyBVUERBVEUgbm90IHN1cHBvcnRlZCB3aXRoIGV4Y2x1c2lvbiBj b25zdHJhaW50cworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywg JzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVt cG9yYWxfcGVyM191cSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzMsNCknOwor RVJST1I6ICBPTiBDT05GTElDVCBETyBVUERBVEUgbm90IHN1cHBvcnRlZCB3aXRoIGV4Y2x1c2lv biBjb25zdHJhaW50cworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIs MyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXIzX3VxIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbNCw1 KSc7CitFUlJPUjogIE9OIENPTkZMSUNUIERPIFVQREFURSBub3Qgc3VwcG9ydGVkIHdpdGggZXhj bHVzaW9uIGNvbnN0cmFpbnRzCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkg aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDAwLTAx LTAxIHwgMjAxMC0wMS0wMQorKDEgcm93KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7Cist LQorLS0gdGVzdCBGSyBkZXBlbmRlbmNpZXMKKy0tCistLSBjYW4ndCBkcm9wIGEgcmFuZ2UgcmVm ZXJlbmNlZCBieSBhbiBGSywgdW5sZXNzIHdpdGggQ0FTQ0FERQorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBDT05TVFJB SU5UIHRlbXBvcmFsM19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpCispOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mayBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbDMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwz IERST1AgQ09MVU1OIHZhbGlkX2F0OworRVJST1I6ICBjYW5ub3QgZHJvcCBjb2x1bW4gdmFsaWRf YXQgb2YgdGFibGUgdGVtcG9yYWwzIGJlY2F1c2Ugb3RoZXIgb2JqZWN0cyBkZXBlbmQgb24gaXQK K0RFVEFJTDogIGNvbnN0cmFpbnQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mayBvbiB0YWJsZSB0ZW1w b3JhbF9ma19ybmcycm5nIGRlcGVuZHMgb24gY29sdW1uIHZhbGlkX2F0IG9mIHRhYmxlIHRlbXBv cmFsMworSElOVDogIFVzZSBEUk9QIC4uLiBDQVNDQURFIHRvIGRyb3AgdGhlIGRlcGVuZGVudCBv YmplY3RzIHRvby4KK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2YWxpZF9hdCBD QVNDQURFOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBjb25zdHJhaW50IHRlbXBvcmFsX2Zr X3JuZzJybmdfZmsgb24gdGFibGUgdGVtcG9yYWxfZmtfcm5nMnJuZworRFJPUCBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycm5nOworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CistLSBjYW4ndCBkcm9wIGEg UEVSSU9EIHJlZmVyZW5jZWQgYnkgYW4gRkssIHVubGVzcyB3aXRoIENBU0NBREUKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBl ciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbDMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCisp OworQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdDsKK0VSUk9S OiAgY2Fubm90IGRyb3AgcGVyaW9kIHZhbGlkX2F0IG9uIHRhYmxlIHRlbXBvcmFsMyBiZWNhdXNl IG90aGVyIG9iamVjdHMgZGVwZW5kIG9uIGl0CitERVRBSUw6ICBjb25zdHJhaW50IHRlbXBvcmFs X2ZrX3BlcjJwZXJfZmsgb24gdGFibGUgdGVtcG9yYWxfZmtfcGVyMnBlciBkZXBlbmRzIG9uIGNv bHVtbiB2YWxpZF9hdCBvZiB0YWJsZSB0ZW1wb3JhbDMKK0hJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FT Q0FERSB0byBkcm9wIHRoZSBkZXBlbmRlbnQgb2JqZWN0cyB0b28uCitBTFRFUiBUQUJMRSB0ZW1w b3JhbDMgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0IENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNh c2NhZGVzIHRvIGNvbnN0cmFpbnQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBvbiB0YWJsZSB0ZW1w b3JhbF9ma19wZXIycGVyCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitEUk9QIFRB QkxFIHRlbXBvcmFsMzsKKy0tCistLSB0ZXN0IEZPUkVJR04gS0VZLCByYW5nZSByZWZlcmVuY2Vz IHJhbmdlCiAtLQogLS0gdGVzdCB0YWJsZSBzZXR1cAogRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmc7 CkBAIC0xNDY3LDYgKzIyNzYsMTggQEAgQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcg KAogICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwg UEVSSU9EIHZhbGlkX2F0KQogKTsKK1xkIHRlbXBvcmFsX2ZrX3JuZzJybmcKKyAgICAgICAgICAg VGFibGUgInB1YmxpYy50ZW1wb3JhbF9ma19ybmcycm5nIgorICBDb2x1bW4gICB8ICAgVHlwZSAg ICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgIHwgaW50NHJh bmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9hdCAgfCBkYXRlcmFuZ2UgfCAg ICAgICAgICAgfCBub3QgbnVsbCB8IAorIHBhcmVudF9pZCB8IGludDRyYW5nZSB8ICAgICAgICAg ICB8ICAgICAgICAgIHwgCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9ma19ybmcycm5nX3BrIiBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitGb3JlaWduLWtleSBj b25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmtfcm5nMnJuZ19mayIgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyhpZCwgUEVS SU9EIHZhbGlkX2F0KQorCiBEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiAtLSB3aXRo IG1pc21hdGNoZWQgUEVSSU9EIGNvbHVtbnM6CiAtLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKQEAgLTM1ODUsODMgKzQ0MDYsMzU2NiBAQCBT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAs MjAxKScgT1JERVIgQlkgaWQsIHZhbAogIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKX0gfCBbOCw5KSAgICAgIHwgWzgsOSkKICgyIHJvd3MpCiAKLS0tIEZLIHdpdGggYSBjdXN0 b20gcmFuZ2UgdHlwZQotQ1JFQVRFIFRZUEUgbXlkYXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1k YXRlKTsKLUNSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKKy0tCistLSB0ZXN0IEZPUkVJR04g S0VZLCBQRVJJT0QgcmVmZXJlbmNlcyBQRVJJT0QKKy0tCistLSB0ZXN0IHRhYmxlIHNldHVwCitE Uk9QIFRBQkxFIHRlbXBvcmFsX3BlcjsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIgKAogICBp ZCBpbnQ0cmFuZ2UsCi0gIHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAotICBDT05TVFJBSU5UIHRlbXBv cmFsX3JuZzNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQor ICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCiApOwotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2Zr M19ybmcycm5nICgKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcgorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wZXJfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKTsKKy0tIENhbid0IGNyZWF0ZSBhIEZLIHdpdGggYSBtaXNtYXRjaGVkIHJhbmdlIHR5cGUK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2 YWxpZF9hdCBteWRhdGVyYW5nZSwKKyAgdmFsaWRfZnJvbSBpbnQsCisgIHZhbGlkX3RpbCBpbnQs CiAgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCi0gIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJy bmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKLSAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCi0gICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmczIChpZCwgUEVSSU9E IHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9h dCkKICk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmczIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKLUlOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrM19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzUsNiknLCBteWRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdb OCw5KScpOwotREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzgsOSknOwot U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazNfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7Ci0g IGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQotIFs1LDYpIHwgWzIwMTgtMDEtMDEs MjAxOS0wMS0wMSkgfCBbOCw5KQotIFs1LDYpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBb OCw5KQotKDIgcm93cykKK0VSUk9SOiAgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxf ZmtfcGVyMnBlcl9mayIgY2Fubm90IGJlIGltcGxlbWVudGVkCitERVRBSUw6ICBLZXkgY29sdW1u cyAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2luZyB0YWJsZSBhbmQgInZhbGlkX2F0IiBvZiB0 aGUgcmVmZXJlbmNlZCB0YWJsZSBhcmUgb2YgaW5jb21wYXRpYmxlIHR5cGVzOiBpbnQ0cmFuZ2Ug YW5kIGRhdGVyYW5nZS4KKy0tIHdvcmtzOiBQRVJJT0QgZm9yIGJvdGggcmVmZXJlbmNlZCBhbmQg cmVmZXJlbmNpbmcKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRf aWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitcZCB0ZW1w b3JhbF9ma19wZXIycGVyCisgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmtfcGVy MnBlciIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBE ZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxs IHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisg dmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgcGFyZW50 X2lkICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAg IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3Jh bF9ma19wZXIycGVyX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmtfcGVyMnBlcl92YWxpZF9h dF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCitGb3JlaWduLWtleSBjb25z dHJhaW50czoKKyAgICAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcihpZCwgUEVSSU9E IHZhbGlkX2F0KQogCi1EUk9QIFRBQkxFIHRlbXBvcmFsX2ZrM19ybmcycm5nOwotRFJPUCBUQUJM RSB0ZW1wb3JhbF9ybmczOwotRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOwotLS0KLS0tIEZLIGJldHdl ZW4gcGFydGl0aW9uZWQgdGFibGVzOiByYW5nZXMKLS0tCi1DUkVBVEUgVEFCTEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfcm5nICgKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcjsKKy0tIHdp dGggbWlzbWF0Y2hlZCBQRVJJT0QgY29sdW1uczoKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gUkVGRVJFTkNFUyBwYXJ0IHNob3Vs ZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAogICBp ZCBpbnQ0cmFuZ2UsCi0gIHZhbGlkX2F0IGRhdGVyYW5nZSwKLSAgbmFtZSB0ZXh0LAotICBDT05T VFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRfcm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUykKLSkgUEFSVElUSU9OIEJZIExJU1QgKGlkKTsKLUNSRUFURSBU QUJMRSB0cDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVT IElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwx MiknLCAnWzEzLDE0KScsICdbMTUsMTYpJywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIp JywgJ1syMywyNCknKTsKLUNSRUFURSBUQUJMRSB0cDIgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAn WzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3 KScsICdbMTgsMTkpJywgJ1syMCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7Ci1JTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT Ci0gICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25l JyksCi0gICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAn b25lJyksCi0gICgnWzIsMyknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScp LCAndHdvJyk7Ci1DUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAo CisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0 cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJf ZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSB1 c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNl ZCB0YWJsZQorLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9h dCkKKy0tIGJvdGggc2hvdWxkIHNwZWNpZnkgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJwZXIgKAogICBpZCBpbnQ0cmFuZ2UsCi0gIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAg dmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKICAgcGFyZW50X2lkIGludDRyYW5n ZSwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX3BrIFBSSU1B UlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCi0gIENPTlNUUkFJTlQgdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCi0gICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcg KGlkLCBQRVJJT0QgdmFsaWRfYXQpCi0pIFBBUlRJVElPTiBCWSBMSVNUIChpZCk7Ci1DUkVBVEUg VEFCTEUgdGZrcDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcg Rk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEw KScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwyMCkn LCAnWzIxLDIyKScsICdbMjMsMjQpJyk7Ci1DUkVBVEUgVEFCTEUgdGZrcDIgUEFSVElUSU9OIE9G IHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywg J1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScs ICdbMTQsMTUpJywgJ1sxNiwxNyknLCAnWzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAn WzI0LDI1KScpOwotLS0KLS0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jaW5nIGluc2VydHMKLS0t Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTCi0gICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEn LCAnMjAwMC0wMi0xNScpLCAnWzEsMiknKSwKLSAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMS0w MS0wMScsICcyMDAyLTAxLTAxJyksICdbMiwzKScpLAotICAoJ1syLDMpJywgZGF0ZXJhbmdlKCcy MDAwLTAxLTAxJywgJzIwMDAtMDItMTUnKSwgJ1sxLDIpJyk7Ci0tLSBzaG91bGQgZmFpbDoKLUlO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMKLSAgKCdbMyw0KScsIGRhdGVyYW5nZSgnMjAxMC0wMS0wMScsICcy MDEwLTAyLTE1JyksICdbMSwyKScpOwotRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxl ICJ0ZmtwMSIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZ19mayIKLURFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9 KFsxLDIpLCBbMjAxMC0wMS0wMSwyMDEwLTAyLTE1KSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUg InRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyIuCi1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCi0gICgnWzMs NCknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0xNScpLCAnWzMsNCknKTsKLUVS Uk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGZrcDEiIHZpb2xhdGVzIGZvcmVpZ24g a2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsiCi1ERVRB SUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMyw0KSwgWzIwMDAtMDEtMDEsMjAwMC0w Mi0xNSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmci LgorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSBtdXN0IHVzZSBQRVJJ T0Qgd2hlbiByZWZlcmVuY2luZyBhIHByaW1hcnkga2V5IHVzaW5nIFdJVEhPVVQgT1ZFUkxBUFMK Ky0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0 KQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRh dGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVS SU9EIHZhbGlkX2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhl IHJlZmVyZW5jZWQgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIChwYXJl bnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KKy0tIEZPUkVJR04gS0VZIHBh cnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBl ciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkK KyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNl cyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcg dGFibGUKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQpCitD UkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFs aWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwK KyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JF SUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIgKGlkKQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhl IHJlZmVyZW5jaW5nIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jZWQgdGFibGUKKy0tIChwYXJl bnRfaWQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAor ICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KQor KTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQgdGFi bGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24g dGhlIHJlZmVyZW5jZWQgdGFibGU6CistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJF RkVSRU5DRVMgW2ltcGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyOworLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUg VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJv bSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVS SU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtF WSAocGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOworRVJST1I6ICBm b3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRo ZSByZWZlcmVuY2luZyB0YWJsZQorLS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUg cmVmZXJlbmNlZCBjb2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9p ZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCBpZCkKKyk7CitFUlJP UjogIGZvcmVpZ24ga2V5IHJlZmVyZW5jZWQtY29sdW1ucyBsaXN0IG11c3Qgbm90IGNvbnRhaW4g ZHVwbGljYXRlcworLS0gVHdvIHNjYWxhciBjb2x1bW5zCitEUk9QIFRBQkxFIHRlbXBvcmFsX3Bl cjI7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMiAoCisgIGlkMSBpbnQ0cmFuZ2UsCisgIGlk MiBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfcGVyMl9wayBQUklNQVJZIEtFWSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpCispOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyICgKKyAgaWQg aW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJl bnRfaWQxIGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFy ZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitcZCB0ZW1wb3JhbF9m azJfcGVyMnBlcgorICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsX2ZrMl9wZXIycGVy IgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1 bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAK KyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxp ZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBwYXJlbnRfaWQx IHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBwYXJlbnRfaWQyIHwgaW50 NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQg KHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIy cGVyX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVj ayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmsyX3BlcjJwZXJfdmFsaWRfYXRfY2hlY2si IENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6 CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrIiBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwg cGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIoaWQx LCBpZDIsIFBFUklPRCB2YWxpZF9hdCkKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBl cjsKIC0tCi0tLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2luZyB1cGRhdGVzCistLSB0ZXN0IEFM VEVSIFRBQkxFIEFERCBDT05TVFJBSU5UCiAtLQotVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgU0VUIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAt MDItMTMnKSBXSEVSRSBpZCA9ICdbMiwzKSc7Ci0tLSBtb3ZlIGEgcm93IGZyb20gdGhlIGZpcnN0 IHBhcnRpdGlvbiB0byB0aGUgc2Vjb25kCi1VUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZyBTRVQgaWQgPSAnWzQsNSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKLS0tIG1vdmUgYSBy b3cgZnJvbSB0aGUgc2Vjb25kIHBhcnRpdGlvbiB0byB0aGUgZmlyc3QKLVVQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFNFVCBpZCA9ICdbMSwyKScgV0hFUkUgaWQgPSAnWzQs NSknOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0 cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBl cgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIg KGlkLCBQRVJJT0QgdmFsaWRfYXQpOworLS0gVHdvIHNjYWxhciBjb2x1bW5zOgorQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9t IGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQxIGludDRyYW5nZSwKKyAgcGFy ZW50X2lkMiBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrMl9wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2Zr CisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCk7 CitcZCB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBv cmFsX2ZrMl9wZXIycGVyIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBO dWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAg IHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAg ICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAg fCAKKyBwYXJlbnRfaWQxIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBw YXJlbnRfaWQyIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6 CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRl bXBvcmFsX2ZrMl9wZXIycGVyX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmsyX3BlcjJwZXJf dmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQorRm9yZWlnbi1r ZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrIiBGT1JFSUdOIEtF WSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRl bXBvcmFsX3BlcjIoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCkKKworLS0gd2l0aCBpbmZlcnJl ZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSwgYW5kIHdyb25nIGNvbHVtbiB0eXBlOgorQUxU RVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9maywKKyAgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0LAorICBBTFRFUiBDT0xV TU4gdmFsaWRfZnJvbSBUWVBFIHRpbWVzdGFtcCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX3RpbCBU WVBFIHRpbWVzdGFtcCwKKyAgQUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKK0VSUk9SOiAgZm9yZWln biBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgY2Fubm90IGJlIGltcGxl bWVudGVkCitERVRBSUw6ICBLZXkgY29sdW1ucyAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2lu ZyB0YWJsZSBhbmQgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBhcmUgb2YgaW5j b21wYXRpYmxlIHR5cGVzOiB0c3JhbmdlIGFuZCBkYXRlcmFuZ2UuCitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycGVyCisgIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdCwKKyAgQUxURVIgQ09M VU1OIHZhbGlkX2Zyb20gVFlQRSBkYXRlLAorICBBTFRFUiBDT0xVTU4gdmFsaWRfdGlsIFRZUEUg ZGF0ZSwKKyAgQUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCk7 CistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgorQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXI7CistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9mIGR1cGxpY2F0 ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsyCisgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChp ZCwgUEVSSU9EIGlkKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgcmVmZXJlbmNlZC1jb2x1bW5zIGxp c3QgbXVzdCBub3QgY29udGFpbiBkdXBsaWNhdGVzCistLQorLS0gdGVzdCB3aXRoIHJvd3MgYWxy ZWFkeQorLS0KK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMycp LAorICAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpLAorICAoJ1syLDMpJywg JzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpLAorICAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBO VUxMKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJwZXJfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywg JzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMScsICdbMSwyKScpOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKKy0tIHNob3VsZCBm YWlsOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CitFUlJPUjogIGluc2VydCBvciB1 cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0wNC0wMSkpIGlzIG5vdCBw cmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorLS0gb2theSBhZ2FpbjoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVy CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsK Ky0tCistLSB0ZXN0IHBnX2dldF9jb25zdHJhaW50ZGVmCistLQorU0VMRUNUIHBnX2dldF9jb25z dHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9y YWxfZmtfcGVyMnBlcl9mayc7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZ19n ZXRfY29uc3RyYWludGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklP RCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIoaWQsIFBFUklPRCB2YWxpZF9hdCkK KygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNpbmcgaW5zZXJ0cworLS0KK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAxJywgJ1sx LDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAn MjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CitFUlJPUjogIGluc2VydCBvciB1 cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0wNC0wMSkpIGlzIG5vdCBw cmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorLS0gbm93IGl0IHNob3VsZCB3b3JrOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMSwyKScsICcyMDE4LTAyLTAzJywgJzIwMTgtMDMtMDMnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkg VkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7Cist LQorLS0gdGVzdCBGSyByZWZlcmVuY2luZyB1cGRhdGVzCistLQorLS0gc2xpZGUgdGhlIGVkZ2Ug YWNyb3NzIGEgcmVmZXJlbmNlZCB0cmFuc2l0aW9uOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJw ZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTIw JyBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBzaG91bGQgZmFpbDoKK1VQREFURSB0ZW1wb3JhbF9m a19wZXIycGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAx OC0wNS0wMScgV0hFUkUgaWQgPSAnWzEsMiknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9u IHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJh aW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZh bGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDUtMDEpKSBpcyBub3QgcHJlc2VudCBp biB0YWJsZSAidGVtcG9yYWxfcGVyIi4KK1VQREFURSB0ZW1wb3JhbF9ma19wZXIycGVyIFNFVCBw YXJlbnRfaWQgPSAnWzgsOSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgaW5zZXJ0IG9y IHVwZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIgdmlvbGF0ZXMgZm9yZWlnbiBr ZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIKK0RFVEFJTDogIEtleSAocGFy ZW50X2lkLCB2YWxpZF9hdCk9KFs4LDkpLCBbMjAxOC0wMS0wMiwyMDE4LTAyLTIwKSkgaXMgbm90 IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BlciIuCistLSBBTFRFUiBGSyBERUZFUlJBQkxF CitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScp LAorICAgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CisgIElOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTCisgICAgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAn WzUsNiknKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICAgIEFMVEVSIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZ IERFRkVSUkVEOworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNikn OyAtLXNob3VsZCBub3QgZmFpbCB5ZXQuCitDT01NSVQ7IC0tIHNob3VsZCBmYWlsIGhlcmUuCitF UlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMg Zm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUg InRlbXBvcmFsX2ZrX3BlcjJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYp LCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxl ICJ0ZW1wb3JhbF9ma19wZXIycGVyIi4KKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRl cyBOTyBBQ1RJT04KKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJw ZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAg T04gVVBEQVRFIE5PIEFDVElPTjsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgYmVjYXVz ZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2KScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDItMDEnKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20g PSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJyBXSEVSRSBpZCA9ICdbNSw2 KSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBudW1lcmlj IGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2KScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcy MDE4LTAxLTEwJywgJ1s1LDYpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9t ID0gJzIwMTYtMDItMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMy0wMScKK1dIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgt MDMtMDEnOworLS0gQSBQSyB1cGRhdGUgc2xpZGluZyB0aGUgZWRnZSBiZXR3ZWVuIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUworICAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScp LAorICAoJ1s2LDcpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk KSBWQUxVRVMKKyAgKCdbNCw1KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnLCAnWzYsNykn KTsKK1VQREFURSB0ZW1wb3JhbF9wZXIKK1NFVCB2YWxpZF9mcm9tID0gQ0FTRSBXSEVOIHZhbGlk X2Zyb20gPSAnMjAxOC0wMS0wMScgVEhFTiAnMjAxOC0wMS0wMScKKyAgICAgICAgICAgICAgICAg ICAgICBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0wMS0wNScgRU5E OjpkYXRlLAorICAgIHZhbGlkX3RpbCA9ICBDQVNFIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAx LTAxJyBUSEVOICcyMDE4LTAxLTA1JworICAgICAgICAgICAgICAgICAgICAgIFdIRU4gdmFsaWRf ZnJvbSA9ICcyMDE4LTAyLTAxJyBUSEVOICcyMDE4LTAzLTAxJyBFTkQ6OmRhdGUKK1dIRVJFIGlk ID0gJ1s2LDcpJzsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5n ZSBidXQgc3RpbGwgdmFsaWQ6CistLSBUaGVyZSBhcmUgdHdvIHJlZmVyZW5jZXM6IG9uZSBmdWxm aWxsZWQgYnkgdGhlIGZpcnN0IHBrIHJvdywKKy0tIHRoZSBvdGhlciBmdWxmaWxsZWQgYnkgYm90 aCBwayByb3dzIGNvbWJpbmVkLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIwMTgt MDMtMDEnKSwKKyAgKCdbMSwyKScsICcyMDE4LTAzLTAxJywgJzIwMTgtMDYtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAxJywg J1sxLDIpJyksCisgICgnWzIsMyknLCAnMjAxOC0wMS0xNScsICcyMDE4LTA1LTAxJywgJ1sxLDIp Jyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2 YWxpZF90aWwgPSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQg QD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgZ3Jvd2luZyB0aGUgcmVmZXJl bmNlZCByYW5nZSBpcyBmaW5lOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9 ICcyMDE4LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdbMSwy KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTI1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIHNo cmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBhbmQgY2hhbmdpbmcgdGhlIGlkIGludmFsaWRh dGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMp JywgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitX SEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKK0VS Uk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBm b3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBvbiB0YWJsZSAi dGVtcG9yYWxfZmtfcGVyMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiks IFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUg InRlbXBvcmFsX2ZrX3BlcjJwZXIiLgorLS0gYSBQSyB1cGRhdGUgY2hhbmdpbmcgb25seSB0aGUg aWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg aWQgPSAnWzIsMyknCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAx LTE1Jzo6ZGF0ZTsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxf cGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVy X2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZh bGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpKSBpcyBzdGlsbCByZWZlcmVu Y2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiLgorLS0gYSBQSyB1cGRhdGUgdGhh dCBsb3NlcyB0aW1lIGZyb20gYm90aCBlbmRzLCBidXQgaXMgc3RpbGwgdmFsaWQ6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAo J1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxV RVMKKyAgKCdbNSw2KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEnLCAnWzIsMyknKTsKK1VQ REFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3Rp bCA9ICcyMDE4LTAyLTE1JworV0hFUkUgaWQgPSAnWzIsMyknOworLS0gYSBQSyB1cGRhdGUgdGhh dCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQ6CitVUERBVEUgdGVtcG9yYWxfcGVy IFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScK K1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFs aWRfdGlsID0gJzIwMTgtMDItMDEnOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxl ICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFs X2ZrX3BlcjJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlMOiAg S2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0 aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCistLSBhIFBL IHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwgYnV0IG5vdCAn dGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisg ICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgREVGRVJSQUJM RSBJTklUSUFMTFkgREVGRVJSRUQ7CisgIFVQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zy b20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJworICBXSEVSRSBpZCA9 ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDIt MDEnKTsKK0NPTU1JVDsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9y YWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIy cGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIKK0RFVEFJTDogIEtleSAoaWQs IHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZl cmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiLgorLS0gY2hhbmdpbmcgdGhl IHNjYWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCkn CitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZh bGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJs ZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9ma19wZXIycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIKK0RFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBz dGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiLgorLS0gY2hh bmdpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK1VQREFURSB0ZW1wb3JhbF9wZXIK K0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAz JworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0gY2hhbmdpbmcganVz dCBhIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1NFVCBpZCA9ICdbNyw4KScK K1dIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAi dGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9m a19wZXIycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIKK0RFVEFJTDogIEtl eSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpKSBpcyBzdGls bCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiLgorU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzUsNikgfCAyMDE2LTAyLTAxIHwgMjAxNi0w My0wMQorIFs1LDYpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDIKKyBbNSw2KSB8IDIwMTgtMDEt MDMgfCAyMDE4LTAyLTAxCisgWzcsOCkgfCAyMDE4LTAxLTAyIHwgMjAxOC0wMS0wMworKDQgcm93 cykKKworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkIGluICgnWzMs NCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFszLDQpIHwgMjAxOC0wMS0wNSB8IDIwMTgtMDEtMTAgfCBbNSw2KQorKDEgcm93 KQorCistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUg UEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVS RSBpZCA9ICdbMyw0KSc7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIw MTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKK1dIRVJFIGlkID0gJ1s1LDYpJyBB TkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEn OworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFJFU1RSSUNUCistLQorVFJVTkNB VEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBSRVNUUklDVDsKK0VS Uk9SOiAgdW5zdXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3Ry YWludCB1c2luZyBQRVJJT0QKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBB Q1RJT04KKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgc3VjY2Vl ZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2KScs ICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBX SEVSRSBpZCA9ICdbNSw2KSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhv dWdoIHRoZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUworICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s1LDYp JywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb Myw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAnWzUsNiknKTsKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0w Mi0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQg ZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgorREVMRVRFIEZST00gdGVtcG9yYWxf cGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQg dmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRh YmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBv cmFsX2ZrX3BlcjJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlM OiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlz IHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCistLSBh IFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwgYnV0IG5v dCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVy CisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgREVGRVJS QUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVS RSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MTgtMDItMDEnKTsKK0NPTU1JVDsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAi dGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9m a19wZXIycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIKK0RFVEFJTDogIEtl eSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGls bCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiLgorLS0gZGVsZXRp bmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEt MDMnCitXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBkZWxldGluZyBqdXN0IGEgcGFydCBmYWlsczoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjog IHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWln biBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBv cmFsX2ZrX3BlcjJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAx OC0wMS0wMywyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1w b3JhbF9ma19wZXIycGVyIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkIGlu ICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFs1LDYpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDIKKyBbNSw2KSB8IDIwMTgtMDEtMDMgfCAy MDE4LTAyLTAxCisoMiByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIg V0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZh bGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzMsNCkgfCAyMDE4LTAxLTA1IHwgMjAxOC0wMS0x MCB8IFs1LDYpCisoMSByb3cpCisKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVj b3JkIGFuZCB0aGUgc2FtZSBQSyBkZWxldGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl ciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZh bGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRl cyBSRVNUUklDVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBl cjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBP TiBERUxFVEUgUkVTVFJJQ1Q7CitFUlJPUjogIHVuc3VwcG9ydGVkIE9OIERFTEVURSBhY3Rpb24g Zm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECistLQorLS0gcGVyMnBlciB0 ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucworLS0KKy0tIFRPQzoKKy0tIHJlZmVyZW5jZWQg dXBkYXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0gcmVmZXJl bmNlZCB1cGRhdGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0t IHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNF VCBERUZBVUxUCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xz KQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJl ZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNl ZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0 ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0gcmVmZXJl bmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVs ZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0KK1RSVU5DQVRFIHRl bXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3BlcgorICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQg PSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAy MDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8 IDIwMjAtMDEtMDEgfCBbNyw4KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAx IHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFs X3BlciBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs3LDgpCisgWzEwMCwxMDEpIHwg MjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbNyw4KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEg fCAyMDIxLTAxLTAxIHwgWzcsOCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsK K1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSkn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwy MDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbOSwxMCkKKyBbMjAwLDIwMSkgfCAyMDIw LTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVt cG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVs ZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgfCBwYXJlbnRf aWQgCistLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykK KworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJF IGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkKKygxIHJv dykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCistLQorVFJV TkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJw ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwx MDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBl cl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlcgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdb Nyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgt MDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAy MC0wMS0wMSB8IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykK KygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IAorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAy MDIwLTAxLTAxIHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScs ICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VU IGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQg PSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRf ZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAt MDEtMDEgfCAKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCiso MiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcp JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zy b20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAx LTAxIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsx MDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykKKygzIHJvd3MpCisKKy0t IG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAw LDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwg dmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8 IAorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzEwMCwxMDEpIHwg MjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgs OSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAy MDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIx LTAxLTAxIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBk YXRlcyBTRVQgREVGQVVMVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtf cGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBd JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdb LTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmssCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAg ICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92 ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCkn IFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAx IHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEt MDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcp CisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDE5LTAx LTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIx LTAxLTAxIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERB VEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8 IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0w MSB8IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1w b3JhbF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcp JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zy b20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAx LTAxIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSww KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykKKygzIHJvd3Mp CisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9m cm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0w MS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0x LDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbLTEsMCkKKygzIHJv d3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBX SEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKQor IFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkKKygyIHJvd3MpCisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNv bHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9mazJfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJf ZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FT Q0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEn IFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lk MSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0w MS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIw LTAxLTAxIHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBk YXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs3LDgpICAgICAgfCBbNiw3KQor KDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNF VCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJF IGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZh bGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs5LDEwKSAgICAgfCBbOCw5 KQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4 LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FE RSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFs X2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEw MCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwg WzYsNykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAg fCBbNiw3KQorKDIgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor IGlkIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAor LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor KDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwg MjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygxIHJvdykKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNv bHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9mazJfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJf ZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNF VCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVy MiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRf aWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5 LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIw MjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEt MDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRl OgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8 IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgICAgICAgICAgICB8IAorKDMgcm93cykKKworLS0gRksg YWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChp ZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs ICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIg KGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgs OSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzksMTApJyBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4 LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkgfCAyMDIwLTAx LTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCist LQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4 LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIw MTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIwMjAt MDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8 IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgICAgICAgICAgICB8IAorKDMgcm93cykKKworLS0gRksg YWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChp ZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs ICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIg KGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgs OSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9p ZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAt MDEtMDEgfCAgICAgICAgICAgIHwgCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEt MDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQp CistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNhdXNlIHlv dSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJf cGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBVUERBVEUg U0VUIE5VTEw7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4gT04gREVM RVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9mazJfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJf ZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9pZDEp IE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRf aWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5 LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIw MjAtMDEtMDEgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwg MjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyBk ZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4 LTAxLTAxIHwgMjAxOS0wMS0wMSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIw MTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg MjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAgICAgICAgICAgIHwgWzYsNykKKygzIHJvd3MpCisK Ky0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn WzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEg fCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0w MSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIycGVyOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3 KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQx LCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBl cgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFM VEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcGVyMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04g REVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknLCBp ZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBh cmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8 IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAx IHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAx LTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToK K1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKSAgICAgfCBb LTEsMCkKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAg fCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKSAg ICAgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dz OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVt cG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9 ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJl bnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAy MDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEg fCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNykn LCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIw MTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwg MjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAx IHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQ TyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAy MDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkg fCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEw MSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygzIHJv d3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdI RVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3Rp bCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgt MDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIg Y29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRl bXBvcmFsX2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbNiw3KScsIG51bGws IG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBd JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFp bHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFV TFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBP TiBVUERBVEUgU0VUIERFRkFVTFQ7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5j ZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBT RVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVy MnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBG T1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAocGFy ZW50X2lkMSkgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0w MS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5 LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCist LSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKSAgICAgfCBbNiw3KQor KDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWy0xLC0xXScsICdbOCw5KScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn LCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQx ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBh cmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8 IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAx IHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRl c3QgRk9SRUlHTiBLRVksIHJhbmdlIHJlZmVyZW5jZXMgUEVSSU9ECistLQorLS0gdGVzdCB0YWJs ZSBzZXR1cAorRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIgQ0FTQ0FERTsKK05PVElDRTogIGRyb3Ag Y2FzY2FkZXMgdG8gY29uc3RyYWludCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIG9uIHRhYmxlIHRl bXBvcmFsX2ZrX3BlcjJwZXIKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKKyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9wZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrCisgIFBSSU1BUlkgS0VZ IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CistLSBDYW4ndCBjcmVhdGUgYSBGSyB3 aXRoIGEgbWlzbWF0Y2hlZCByYW5nZSB0eXBlCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5n MnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgaW50NHJhbmdlLAorICBwYXJlbnRf aWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7 CitFUlJPUjogIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsi IGNhbm5vdCBiZSBpbXBsZW1lbnRlZAorREVUQUlMOiAgS2V5IGNvbHVtbnMgInZhbGlkX2F0IiBv ZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYW5kICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jZWQg dGFibGUgYXJlIG9mIGluY29tcGF0aWJsZSB0eXBlczogaW50NHJhbmdlIGFuZCBkYXRlcmFuZ2Uu CistLSB3b3JrczogUEVSSU9EIGZvciByZWZlcmVuY2VkLCByYW5nZSBmb3IgcmVmZXJlbmNpbmcK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAg ICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9ma19ybmcycGVyIgorICBDb2x1bW4gICB8 ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAg IHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9hdCAgfCBkYXRl cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHBhcmVudF9pZCB8IGludDRyYW5nZSB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9ma19ybmcy cGVyX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitGb3Jl aWduLWtleSBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Bl cihpZCwgUEVSSU9EIHZhbGlkX2F0KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXI7 CistLSB3aXRoIG1pc21hdGNoZWQgUEVSSU9EIGNvbHVtbnM6CistLSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIFJFRkVSRU5DRVMgcGFy dCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVy ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBp bnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfYXQpCispOworRVJST1I6ICBm b3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYnV0IG5vdCB0 aGUgcmVmZXJlbmNlZCB0YWJsZQorLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMg KGlkLCB2YWxpZF9hdCkKKy0tIGJvdGggc2hvdWxkIHNwZWNpZnkgUEVSSU9EOgorQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRh dGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0 KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgbXVzdCB1c2UgUEVSSU9EIHdoZW4gcmVmZXJlbmNp bmcgYSBwcmltYXJ5IGtleSB1c2luZyBXSVRIT1VUIE9WRVJMQVBTCistLSAocGFyZW50X2lkLCB2 YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKy0tIEZPUkVJR04gS0VZ IHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5n MnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRf aWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK0VSUk9S OiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUgYnV0IG5v dCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVO Q0VTIFtpbXBsaWNpdF0KKy0tIEZPUkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9E CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisp OworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJs ZSBidXQgbm90IHRoZSByZWZlcmVuY2luZyB0YWJsZQorLS0gKHBhcmVudF9pZCwgUEVSSU9EIHZh bGlkX2F0KSBSRUZFUkVOQ0VTIChpZCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVy ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBp bnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5 IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2luZyB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVu Y2VkIHRhYmxlCistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0 KQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdO IEtFWSAocGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9E IHZhbGlkX2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJl ZmVyZW5jZWQgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIHdpdGggaW5m ZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGU6CistLSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2Zr X3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFy ZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CitEUk9QIFRBQkxFIHRlbXBv cmFsX2ZrX3JuZzJwZXI7CistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKK0VSUk9SOiAgZm9y ZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUgYnV0IG5vdCB0aGUg cmVmZXJlbmNpbmcgdGFibGUKKy0tIHNob3VsZCBmYWlsIGJlY2F1c2Ugb2YgZHVwbGljYXRlIHJl ZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAg aWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFu Z2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCBpZCkKKyk7CitFUlJPUjogIGZvcmVp Z24ga2V5IHJlZmVyZW5jZWQtY29sdW1ucyBsaXN0IG11c3Qgbm90IGNvbnRhaW4gZHVwbGljYXRl cworLS0gVHdvIHNjYWxhciBjb2x1bW5zCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjIgQ0FTQ0FE RTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gY29uc3RyYWludCB0ZW1wb3JhbF9mazJfcGVy MnBlcl9mayBvbiB0YWJsZSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX3BlcjIgKAorICBpZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9m cm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFS WSBLRVkgKGlkMSwgaWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQg ZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQxIGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFu Z2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIFBFUklPRCB2 YWxpZF9hdCkKKyk7CitcZCB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICAgICAgICAgICBUYWJsZSAi cHVibGljLnRlbXBvcmFsX2ZrMl9ybmcycGVyIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBD b2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdl IHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9hdCAgIHwgZGF0ZXJhbmdlIHwgICAg ICAgICAgIHwgbm90IG51bGwgfCAKKyBwYXJlbnRfaWQxIHwgaW50NHJhbmdlIHwgICAgICAgICAg IHwgICAgICAgICAgfCAKKyBwYXJlbnRfaWQyIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAg ICAgICAgfCAKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX2ZrMl9ybmcycGVyX3BrIiBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitGb3JlaWduLWtleSBjb25zdHJh aW50czoKKyAgICAidGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsiIEZPUkVJR04gS0VZIChwYXJlbnRf aWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy MihpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrMl9y bmcycGVyOworLS0KKy0tIHRlc3QgQUxURVIgVEFCTEUgQUREIENPTlNUUkFJTlQKKy0tCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf YXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlk X2F0KTsKKy0tIFR3byBzY2FsYXIgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJf cm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJl bnRfaWQxIGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmsyX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyMiAoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCk7CitcZCB0ZW1wb3JhbF9mazJfcm5nMnBl cgorICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsX2ZrMl9ybmcycGVyIgorICAgQ29s dW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBp ZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9h dCAgIHwgZGF0ZXJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyBwYXJlbnRfaWQxIHwg aW50NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBwYXJlbnRfaWQyIHwgaW50NHJh bmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX2Zr Ml9ybmcycGVyX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CitGb3JlaWduLWtleSBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsi IEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGVyMihpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorCistLSB3 aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlLCBhbmQgd3JvbmcgY29sdW1u IHR5cGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrLAorICBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgVFlQRSB0 c3JhbmdlIFVTSU5HIHRzcmFuZ2UobG93ZXIodmFsaWRfYXQpLCB1cHBlcih2YWxpZF9hdCkpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CitFUlJPUjogIGZvcmVpZ24ga2V5IGNvbnN0 cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiIGNhbm5vdCBiZSBpbXBsZW1lbnRlZAorREVU QUlMOiAgS2V5IGNvbHVtbnMgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYW5k ICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jZWQgdGFibGUgYXJlIG9mIGluY29tcGF0aWJsZSB0 eXBlczogdHNyYW5nZSBhbmQgZGF0ZXJhbmdlLgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5n MnBlcgorICBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgVFlQRSBkYXRlcmFuZ2UgVVNJTkcgZGF0ZXJh bmdlKGxvd2VyKHZhbGlkX2F0KTo6ZGF0ZSwgdXBwZXIodmFsaWRfYXQpOjpkYXRlKTsKKy0tIHdp dGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGU6CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsK KyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3BlcjsKKy0tIHNob3VsZCBmYWlsIGJlY2F1c2Ugb2YgZHVwbGljYXRlIHJlZmVy ZW5jZWQgY29sdW1uczoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazIKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJ T0QgaWQpOworRVJST1I6ICBmb3JlaWduIGtleSByZWZlcmVuY2VkLWNvbHVtbnMgbGlzdCBtdXN0 IG5vdCBjb250YWluIGR1cGxpY2F0ZXMKKy0tCistLSB0ZXN0IHdpdGggcm93cyBhbHJlYWR5Cist LQorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJyksCisgICgn WzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0JyksCisgICgnWzIsMyknLCAnMjAxOC0w MS0wMScsICcyMDE4LTAxLTA1JyksCisgICgnWzMsNCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcm5nMnBlcl9mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAy LTAxKScsICdbMSwyKScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19y bmcycGVyX2ZrOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDQtMDEpJywg J1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJw ZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy OworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVy IiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2Zr IgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAy LDIwMTgtMDQtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KKy0t IG9rYXkgYWdhaW46CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXI7CistLQorLS0gdGVzdCBwZ19nZXRfY29uc3RyYWludGRlZgor LS0KK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBX SEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX2ZrX3JuZzJwZXJfZmsnOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGdfZ2V0X2NvbnN0cmFpbnRkZWYgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy KGlkLCBQRVJJT0QgdmFsaWRfYXQpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5j aW5nIGluc2VydHMKKy0tCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0w MSknLCAnWzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJ1syMDE4 LTAxLTAyLDIwMTgtMDQtMDEpJywgJ1sxLDIpJyk7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUg b24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0 cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwg dmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0wNC0wMSkpIGlzIG5vdCBwcmVzZW50 IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorLS0gbm93IGl0IHNob3VsZCB3b3JrOgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MSwyKScsICcyMDE4LTAyLTAzJywgJzIwMTgtMDMtMDMnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICdb MjAxOC0wMS0wMiwyMDE4LTA0LTAxKScsICdbMSwyKScpOworLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNpbmcgdXBkYXRlcworLS0KKy0tIHNsaWRlIHRoZSBlZGdlIGFjcm9zcyBhIHJlZmVyZW5jZWQg dHJhbnNpdGlvbjoKK1VQREFURSB0ZW1wb3JhbF9ma19ybmcycGVyIFNFVCB2YWxpZF9hdCA9ICdb MjAxOC0wMS0wMiwyMDE4LTAyLTIwKScgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZh aWw6CitVUERBVEUgdGVtcG9yYWxfZmtfcm5nMnBlciBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEt MDIsMjAxOC0wNS0wMSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVw ZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkg Y29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIKK0RFVEFJTDogIEtleSAocGFyZW50 X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA1LTAxKSkgaXMgbm90IHBy ZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BlciIuCitVUERBVEUgdGVtcG9yYWxfZmtfcm5nMnBl ciBTRVQgcGFyZW50X2lkID0gJ1s4LDkpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIGlu c2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiIHZpb2xhdGVzIGZv cmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiCitERVRBSUw6ICBL ZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbOCw5KSwgWzIwMTgtMDEtMDIsMjAxOC0wMi0yMCkp IGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorLS0gQUxURVIgRksgREVG RVJSQUJMRQorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICAgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgt MDItMDEnKSwKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworICBJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkg VkFMVUVTCisgICAgKCdbMyw0KScsICdbMjAxOC0wMS0wNSwyMDE4LTAxLTEwKScsICdbNSw2KScp OworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgICAgQUxURVIgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJS RUQ7CisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KSc7IC0tc2hv dWxkIG5vdCBmYWlsIHlldC4KK0NPTU1JVDsgLS0gc2hvdWxkIGZhaWwgaGVyZS4KK0VSUk9SOiAg dXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWdu IGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9y YWxfZmtfcm5nMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4 LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBv cmFsX2ZrX3JuZzJwZXIiLgorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIE5PIEFD VElPTgorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBVUERB VEUgTk8gQUNUSU9OOworLS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBu dW1lcmljIGlkIGlzbid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAn MjAxOC0wMi0wMScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2 LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0t IGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMg cmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlciBXSEVSRSBpZCA9ICdbNSw2KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAn MjAxOC0wMi0wMScpLAorICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUworICAoJ1szLDQpJywgJ1syMDE4LTAxLTA1LDIwMTgtMDEtMTApJywgJ1s1LDYpJyk7 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDItMDEnLCB2YWxp ZF90aWwgPSAnMjAxNi0wMy0wMScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9 ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnOworLS0gQSBQSyB1cGRh dGUgc2xpZGluZyB0aGUgZWRnZSBiZXR3ZWVuIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAo J1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s2LDcpJywgJzIwMTgt MDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1s0LDUpJywgJ1syMDE4LTAxLTE1 LDIwMTgtMDItMTUpJywgJ1s2LDcpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyCitTRVQgdmFsaWRf ZnJvbSA9IENBU0UgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIFRIRU4gJzIwMTgtMDEt MDEnCisgICAgICAgICAgICAgICAgICAgICAgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEn IFRIRU4gJzIwMTgtMDEtMDUnIEVORDo6ZGF0ZSwKKyAgICB2YWxpZF90aWwgPSAgQ0FTRSBXSEVO IHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgVEhFTiAnMjAxOC0wMS0wNScKKyAgICAgICAgICAg ICAgICAgICAgICBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0wMy0w MScgRU5EOjpkYXRlCitXSEVSRSBpZCA9ICdbNiw3KSc7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtp bmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgYnV0IHN0aWxsIHZhbGlkOgorLS0gVGhlcmUgYXJlIHR3 byByZWZlcmVuY2VzOiBvbmUgZnVsZmlsbGVkIGJ5IHRoZSBmaXJzdCBwayByb3csCistLSB0aGUg b3RoZXIgZnVsZmlsbGVkIGJ5IGJvdGggcGsgcm93cyBjb21iaW5lZC4KK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzEsMikn LCAnMjAxOC0wMS0wMScsICcyMDE4LTAzLTAxJyksCisgICgnWzEsMiknLCAnMjAxOC0wMy0wMScs ICcyMDE4LTA2LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMTUsMjAxOC0w Mi0wMSknLCAnWzEsMiknKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0xNSwyMDE4LTA1LTAxKScs ICdbMSwyKScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAx LTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZh bGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIGdyb3dpbmcgdGhl IHJlZmVyZW5jZWQgcmFuZ2UgaXMgZmluZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlk X2Zyb20gPSAnMjAxOC0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQg PSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0yNSc6OmRhdGU7CistLSBhIFBLIHVw ZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgYW5kIGNoYW5naW5nIHRoZSBpZCBp bnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9 ICdbMiwzKScsIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAz LTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRh dGU7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlv bGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIgb24g dGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9 KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9t IHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tIGEgUEsgdXBkYXRlIGNoYW5naW5nIG9u bHkgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIGlkID0gJ1syLDMpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAn MjAxOC0wMS0xNSc6OmRhdGU7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRl bXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtf cm5nMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkg KGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKSkgaXMgc3RpbGwg cmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tIGEgUEsgdXBk YXRlIHRoYXQgbG9zZXMgdGltZSBmcm9tIGJvdGggZW5kcywgYnV0IGlzIHN0aWxsIHZhbGlkOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMKKyAgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAg KCdbNSw2KScsICdbMjAxOC0wMS0xNSwyMDE4LTAyLTAxKScsICdbMiwzKScpOworVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIw MTgtMDItMTUnCitXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxz IGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZDoKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZh bGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJworV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwg PSAnMjAxOC0wMi0wMSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBv cmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5n MnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlk LCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVm ZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tIGEgUEsgdXBkYXRl IHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBidXQgbm90ICd0aWwgY29t bWl0OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgICBBTFRF UiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJ QUxMWSBERUZFUlJFRDsKKyAgVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcy MDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnCisgIFdIRVJFIGlkID0gJ1s1LDYp JyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOwor Q09NTUlUOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIi IHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsi IG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRf YXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQg ZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIuCistLSBjaGFuZ2luZyB0aGUgc2NhbGFy IHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScKK1dIRVJF IGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGls ID0gJzIwMTgtMDItMDEnOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1w b3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIgorREVUQUlMOiAgS2V5IChp ZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJl ZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIuCistLSBjaGFuZ2luZyBh biB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX3BlcgorRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitTRVQg aWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFuZ2luZyBqdXN0IGEgcGFy dCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUg aWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3Jh bF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJw ZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIgorREVUQUlMOiAgS2V5IChpZCwg dmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVy ZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIuCitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbNSw2KSB8IDIwMTYtMDItMDEgfCAyMDE2LTAzLTAxCisg WzUsNikgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wMgorIFs1LDYpIHwgMjAxOC0wMS0wMyB8IDIw MTgtMDItMDEKKyBbNyw4KSB8IDIwMTgtMDEtMDIgfCAyMDE4LTAxLTAzCisoNCByb3dzKQorCitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg cGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgWzMsNCkgfCBbMjAxOC0wMS0wNSwyMDE4LTAxLTEwKSB8IFs1LDYpCisoMSByb3cpCisKKy0t IHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyB1cGRh dGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0g J1szLDQpJzsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0w MScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7CistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIHVwZGF0ZXMgUkVTVFJJQ1QKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFs X2ZrX3JuZzJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtf cm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIKKyAgT04gVVBEQVRFIFJFU1RSSUNUOworRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERB VEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIE5PIEFDVElPTgorLS0KK1RSVU5DQVRFIHRlbXBv cmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlk IGlzbid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0w MScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEg UEsgZGVsZXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVm ZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0w MS0wMScsICcyMDE4LTAyLTAxJyksCisgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAz LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzMsNCknLCAnWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCknLCAnWzUs NiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZh bGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJzsKKy0t IGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgorREVM RVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9 ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworRVJST1I6ICB1cGRh dGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9m a19ybmcycGVyIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEt MDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxf Zmtfcm5nMnBlciIuCistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUg cmVmZXJlbmNlZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19ybmcycGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cGVyX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisgIERFTEVURSBGUk9N IHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK0NPTU1JVDsKK0VSUk9SOiAgdXBkYXRlIG9y IGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25z dHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5n MnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIw MTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3Ju ZzJwZXIiLgorLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0w MS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBkZWxldGluZyBq dXN0IGEgcGFydCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitXSEVSRSBpZCA9 ICdbNSw2KSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3Bl ciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9m ayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxp ZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMywyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNl ZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFs1LDYpIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDIKKyBbNSw2 KSB8IDIwMTgtMDEtMDMgfCAyMDE4LTAyLTAxCisoMiByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzMsNCkgfCBbMjAx OC0wMS0wNSwyMDE4LTAxLTEwKSB8IFs1LDYpCisoMSByb3cpCisKKy0tIHRoZW4gZGVsZXRlIHRo ZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyBkZWxldGUgc3VjY2VlZHM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAn MjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKy0tCistLSB0ZXN0IEZL IHJlZmVyZW5jZWQgZGVsZXRlcyBSRVNUUklDVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Blciwg dGVtcG9yYWxfZmtfcm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsK KyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3BlcgorICBPTiBERUxFVEUgUkVTVFJJQ1Q7CitFUlJPUjogIHVuc3VwcG9ydGVk IE9OIERFTEVURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9E CistLQorLS0gcm5nMnBlciB0ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucworLS0KKy0tIFRP QzoKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIGRlbGV0ZXMg Q0FTQ0FERQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIGRl bGV0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RSAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBz Y2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBj b2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwg c3Vic2V0KQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNv bHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykK Ky0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzLCBTRVQg REVGQVVMVCBzdWJzZXQpCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBd JywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsK KyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FE RTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAx LTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1w b3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KQorIFsxMDAsMTAx KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKSB8IFs3LDgpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sy MDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5n MnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAx OC0wMS0wMSwyMDIwLTAxLTAxKSB8IFs5LDEwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg ZGVsZXRlcyBDQVNDQURFCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19y bmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknKTsKKy0t IGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5n MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8 IHZhbGlkX2F0IHwgcGFyZW50X2lkIAorLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisoMCBy b3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKKygxIHJvdykKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVt cG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAy MS0wMS0wMSknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUg U0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6 CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2 LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMTAwLDEwMSkg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBP IHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0w MSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsxMDAsMTAx KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVF UyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworVVBE QVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf Zmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkg fCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg ZGVsZXRlcyBTRVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtf cm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7Cist LSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hF UkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIw MTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8 IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykKKygzIHJvd3Mp CisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzEwMCwx MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9z cyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBA PiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEt MDEsMjAyMC0wMS0wMSkgfCAKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8 IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IERFRkFVTFQKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEt MDEtMDEpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFM VEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf Zmtfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9OIERFTEVURSBTRVQgREVGQVVM VCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQ REFURSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAx KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1G UE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0x LDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbLTEsMCkKKygzIHJv d3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEt MDEpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdI RVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisg WzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNB VEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgbnVs bCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwy MDE5LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkg fCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCiso MyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBX SEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEs MjAxOS0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAx KSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWy0xLDAp CisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgs OSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwy MDIxLTAxLTAxKScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlk ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFy ZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisgWzIwMCwy MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywg J1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBE Uk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBh cmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIK KyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBb Niw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkgICAgICB8 IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAg IHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFs X3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJl bnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIw MTktMDEtMDEpIHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEs MjAyMC0wMS0wMSkgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0w MSwyMDIxLTAxLTAxKSB8IFs3LDgpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEs IGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlk MSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Ju ZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitV UERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEg fCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSkgfCBbOSwxMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywg J1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2 LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9y bmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYs NykgICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgaWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQx LCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChp ZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs ICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9y bmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sy MDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOwor REVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcy cGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpICAg ICAgfCBbOCw5KQorKDEgcm93KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0 ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQy LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBd JywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisg ICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkK KyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04g VVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVt cG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAn MjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAx LTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTkt MDEtMDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEt MDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1G UE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsx MDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsxMDAs MTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgICAgICAgICAgICB8IAorKDMgcm93cykK KworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywg J1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUg aWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEt MDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RS VU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYs NyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEp IHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0w MSkgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkg fCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVM RVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0w MS0wMSkgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0w MSkgfCAgICAgICAgICAgIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5j ZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAy MC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgt MDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdb MjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwy MDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgCisgWzIwMCwyMDEp IHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3Mp CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxh ciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVt cG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMg YmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVy X2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxpZF9hdCkg T04gVVBEQVRFIFNFVCBOVUxMOworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2Vk IGluIE9OIERFTEVURSBTRVQgYWN0aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIg VEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9mawor ICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIChw YXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRl czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5 LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0t IG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwx MDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAw LDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsx MDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgICAgICAgICAgICB8IFs2LDcpCiso MyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJl bnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAn WzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAy MC0wMS0wMSkgfCAgICAgICAgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQor VFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbLTEsLTFdJywgJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywg J1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2 LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4g cGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRf aWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9mawor ICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxU IE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3 KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFst MSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8 IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9w ZXIyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBb MjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkg fCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEw MSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygzIHJv d3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5 KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknLCBp ZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlk ID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkK KyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpICAgICAgfCBbOCw5 KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZB VUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9y YWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBudWxsLCBu dWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAx LDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8 IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQor CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAg IHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWy0xLDApICAgICB8IFstMSwwKQor IFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFstMSww KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWy0xLDApICAgICB8IFst MSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk MSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEt MDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAx LTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIw LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQor LS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29s cywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBv cmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbNiw3KScsIG51bGwsIG51 bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNh bid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcy cGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIy CisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBERUZB VUxUOworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBT RVQgYWN0aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmsyX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwt MV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFU RSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEp IHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0w MSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0w MSwyMDE5LTAxLTAxKSB8IFstMSwwKSAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAx LTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAt MDEtMDEsMjAyMS0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAo aWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIy IChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAn WzgsOSknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZS T00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJF IGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbOCw5 KQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4 LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGT1JFSUdOIEtFWSwgUEVSSU9EIHJlZmVyZW5j ZXMgcmFuZ2UKKy0tCistLSB0ZXN0IHRhYmxlIHNldHVwCitEUk9QIFRBQkxFIHRlbXBvcmFsX3Ju ZyBDQVNDQURFOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBjb25zdHJhaW50IHRlbXBvcmFs X2ZrX3JuZzJybmdfZmsgb24gdGFibGUgdGVtcG9yYWxfZmtfcm5nMnJuZworQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX3JuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlCisp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfcm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3Ju Z19waworICBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworLS0g Q2FuJ3QgY3JlYXRlIGEgRksgd2l0aCBhIG1pc21hdGNoZWQgcmFuZ2UgdHlwZQorQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20g aW50LAorICB2YWxpZF90aWwgaW50LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChw YXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAo aWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQg InRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIGNhbm5vdCBiZSBpbXBsZW1lbnRlZAorREVUQUlMOiAg S2V5IGNvbHVtbnMgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYW5kICJ2YWxp ZF9hdCIgb2YgdGhlIHJlZmVyZW5jZWQgdGFibGUgYXJlIG9mIGluY29tcGF0aWJsZSB0eXBlczog aW50NHJhbmdlIGFuZCBkYXRlcmFuZ2UuCistLSB3b3JrczogcmFuZ2UgZm9yIHJlZmVyZW5jZWQs IFBFUklPRCBmb3IgcmVmZXJlbmNpbmcKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5n ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9m cm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkK Kyk7CitcZCB0ZW1wb3JhbF9ma19wZXIycm5nCisgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVt cG9yYWxfZmtfcGVyMnJuZyIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwg TnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAg ICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAg ICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAg IHwgCisgcGFyZW50X2lkICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQ ZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgor ICAgICJ0ZW1wb3JhbF9ma19wZXIycm5nX3BrIiBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmtfcGVy MnJuZ192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCitGb3Jl aWduLWtleSBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Ju ZyhpZCwgUEVSSU9EIHZhbGlkX2F0KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmc7 CistLSB3aXRoIG1pc21hdGNoZWQgUEVSSU9EIGNvbHVtbnM6CistLSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIFJFRkVSRU5DRVMgcGFy dCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5n ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9m cm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KQorKTsKK0VS Uk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jaW5nIHRhYmxlIGJ1 dCBub3QgdGhlIHJlZmVyZW5jZWQgdGFibGUKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZF UkVOQ0VTIChpZCwgdmFsaWRfYXQpCistLSBib3RoIHNob3VsZCBzcGVjaWZ5IFBFUklPRDoKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAor ICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n IChpZCwgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSBtdXN0IHVzZSBQRVJJT0Qg d2hlbiByZWZlcmVuY2luZyBhIHByaW1hcnkga2V5IHVzaW5nIFdJVEhPVVQgT1ZFUkxBUFMKKy0t IChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQor LS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBT KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9E IHZhbGlkX2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJl ZmVyZW5jZWQgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIChwYXJlbnRf aWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KKy0tIEZPUkVJR04gS0VZIHBhcnQg c2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAo CisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwK KyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJv bSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1B UlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQ RVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFi bGUKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQpCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf ZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9ybmcgKGlkKQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJl ZmVyZW5jaW5nIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jZWQgdGFibGUKKy0tIChwYXJlbnRf aWQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2 YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxp ZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsK K0VSUk9SOiAgZm9yZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUg YnV0IG5vdCB0aGUgcmVmZXJlbmNpbmcgdGFibGUKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhl IHJlZmVyZW5jZWQgdGFibGU6CistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVS RU5DRVMgW2ltcGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBh cmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCispOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nOworLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBk YXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAo cGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCispOworRVJST1I6ICBmb3Jl aWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRoZSBy ZWZlcmVuY2luZyB0YWJsZQorLS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVm ZXJlbmNlZCBjb2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBh cmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkK KyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCBpZCkKKyk7CitFUlJPUjog IGZvcmVpZ24ga2V5IHJlZmVyZW5jZWQtY29sdW1ucyBsaXN0IG11c3Qgbm90IGNvbnRhaW4gZHVw bGljYXRlcworLS0gVHdvIHNjYWxhciBjb2x1bW5zCitEUk9QIFRBQkxFIHRlbXBvcmFsX3JuZzIg Q0FTQ0FERTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gY29uc3RyYWludCB0ZW1wb3JhbF9m azJfcm5nMnJuZ19mayBvbiB0YWJsZSB0ZW1wb3JhbF9mazJfcm5nMnJuZworQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX3JuZzIgKAorICBpZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2 YWxpZF9hdCBkYXRlcmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcm5nMl9wayBQUklNQVJZ IEtFWSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9t IGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQxIGludDRyYW5nZSwKKyAgcGFy ZW50X2lkMiBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVS SU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIFBF UklPRCB2YWxpZF9hdCkKKyk7CitcZCB0ZW1wb3JhbF9mazJfcGVyMnJuZworICAgICAgICAgICBU YWJsZSAicHVibGljLnRlbXBvcmFsX2ZrMl9wZXIycm5nIgorICAgQ29sdW1uICAgfCAgIFR5cGUg ICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50 NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAg IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAKKyBwYXJlbnRfaWQxIHwgaW50NHJhbmdlIHwgICAgICAgICAg IHwgICAgICAgICAgfCAKKyBwYXJlbnRfaWQyIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAg ICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkK K0luZGV4ZXM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycm5nX3BrIiBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVt cG9yYWxfZmsyX3BlcjJybmdfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFs aWRfdGlsKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIy cm5nX2ZrIiBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlk X2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCkK KworRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKKy0tCistLSB0ZXN0IEFMVEVSIFRB QkxFIEFERCBDT05TVFJBSU5UCistLQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUs CisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zy b20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5n X2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpOworLS0gVHdvIHNjYWxhciBj b2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQx IGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Bl cjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIs IFBFUklPRCB2YWxpZF9hdCk7CitcZCB0ZW1wb3JhbF9mazJfcGVyMnJuZworICAgICAgICAgICBU YWJsZSAicHVibGljLnRlbXBvcmFsX2ZrMl9wZXIycm5nIgorICAgQ29sdW1uICAgfCAgIFR5cGUg ICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50 NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAg IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAKKyBwYXJlbnRfaWQxIHwgaW50NHJhbmdlIHwgICAgICAgICAg IHwgICAgICAgICAgfCAKKyBwYXJlbnRfaWQyIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAg ICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkK K0luZGV4ZXM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIycm5nX3BrIiBQUklNQVJZIEtFWSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVt cG9yYWxfZmsyX3BlcjJybmdfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFs aWRfdGlsKQorRm9yZWlnbi1rZXkgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX2ZrMl9wZXIy cm5nX2ZrIiBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlk X2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCkK KworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSwgYW5kIHdyb25n IGNvbHVtbiB0eXBlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maywKKyAgRFJPUCBQRVJJT0QgRk9SIHZhbGlk X2F0LAorICBBTFRFUiBDT0xVTU4gdmFsaWRfZnJvbSBUWVBFIHRpbWVzdGFtcCwKKyAgQUxURVIg Q09MVU1OIHZhbGlkX3RpbCBUWVBFIHRpbWVzdGFtcCwKKyAgQUREIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIy cm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Ju ZzsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19m ayIgY2Fubm90IGJlIGltcGxlbWVudGVkCitERVRBSUw6ICBLZXkgY29sdW1ucyAidmFsaWRfYXQi IG9mIHRoZSByZWZlcmVuY2luZyB0YWJsZSBhbmQgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNl ZCB0YWJsZSBhcmUgb2YgaW5jb21wYXRpYmxlIHR5cGVzOiB0c3JhbmdlIGFuZCBkYXRlcmFuZ2Uu CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgUEVSSU9EIEZPUiB2YWxp ZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSBkYXRlLAorICBBTFRFUiBDT0xV TU4gdmFsaWRfdGlsIFRZUEUgZGF0ZSwKKyAgQUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlk X2Zyb20sIHZhbGlkX3RpbCk7CistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2Vk IHRhYmxlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklP RCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CistLSBzaG91bGQgZmFpbCBi ZWNhdXNlIG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsy CisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIGlkKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgcmVm ZXJlbmNlZC1jb2x1bW5zIGxpc3QgbXVzdCBub3QgY29udGFpbiBkdXBsaWNhdGVzCistLQorLS0g dGVzdCB3aXRoIHJvd3MgYWxyZWFkeQorLS0KK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJy bmc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0w MyknKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMywyMDE4LTA0LTA0KScpLAorICAoJ1syLDMp JywgJ1syMDE4LTAxLTAxLDIwMTgtMDEtMDUpJyksCisgICgnWzMsNCknLCAnWzIwMTgtMDEtMDEs KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnJuZ19mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAn MjAxOC0wMS0wMicsICcyMDE4LTAyLTAxJywgJ1sxLDIpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3JuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19w ZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sy LDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOworLS0gc2hvdWxkIGZh aWw6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZh bGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVw ZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkg Y29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50 X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKSkgaXMgbm90IHBy ZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3JuZyIuCistLSBva2F5IGFnYWluOgorREVMRVRFIEZS T00gdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nOwor LS0KKy0tIHRlc3QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYKKy0tCitTRUxFQ1QgcGdfZ2V0X2NvbnN0 cmFpbnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrJzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dl dF9jb25zdHJhaW50ZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyhpZCwgUEVSSU9EIHZhbGlkX2F0KQor KDEgcm93KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDEnLCAnWzEs MiknKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICcy MDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVw ZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkg Y29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50 X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKSkgaXMgbm90IHBy ZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3JuZyIuCistLSBub3cgaXQgc2hvdWxkIHdvcms6CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzEsMiknLCAn WzIwMTgtMDItMDMsMjAxOC0wMy0wMyknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJy bmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMykn LCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2luZyB1cGRhdGVzCistLQorLS0gc2xpZGUgdGhlIGVkZ2UgYWNyb3NzIGEgcmVmZXJl bmNlZCB0cmFuc2l0aW9uOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJybmcgU0VUIHZhbGlkX2Zy b20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTIwJyBXSEVSRSBpZCA9ICdb MSwyKSc7CistLSBzaG91bGQgZmFpbDoKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIycm5nIFNFVCB2 YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAxOC0wNS0wMScgV0hFUkUg aWQgPSAnWzEsMiknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3Jh bF9ma19wZXIycm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9m a19wZXIycm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiks IFsyMDE4LTAxLTAyLDIwMTgtMDUtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9y YWxfcm5nIi4KK1VQREFURSB0ZW1wb3JhbF9ma19wZXIycm5nIFNFVCBwYXJlbnRfaWQgPSAnWzgs OSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJs ZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAi dGVtcG9yYWxfZmtfcGVyMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9h dCk9KFs4LDkpLCBbMjAxOC0wMS0wMiwyMDE4LTAyLTIwKSkgaXMgbm90IHByZXNlbnQgaW4gdGFi bGUgInRlbXBvcmFsX3JuZyIuCistLSBBTFRFUiBGSyBERUZFUlJBQkxFCitCRUdJTjsKKyAgSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAgICgnWzUsNikn LCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKSwKKyAgICAoJ1s1LDYpJywgJ1syMDE4LTAyLTAx LDIwMTgtMDMtMDEpJyk7CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTCisgICAgKCdbMyw0KScsICcy MDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAnWzUsNiknKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnJuZworICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19m aworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworICBERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknOyAtLXNob3VsZCBub3QgZmFpbCB5ZXQuCitDT01N SVQ7IC0tIHNob3VsZCBmYWlsIGhlcmUuCitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFi bGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9y YWxfZmtfcGVyMnJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6 ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMg c3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIi4KKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBOTyBBQ1RJT04KKy0tCitUUlVOQ0FURSB0ZW1w b3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOworQUxURVIg VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgT04gVVBEQVRFIE5PIEFDVElPTjsKKy0tIGEgUEsg dXBkYXRlIHRoYXQgc3VjY2VlZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVu Y2VkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s1 LDYpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNF VCB2YWxpZF9hdCA9ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScgV0hFUkUgaWQgPSAnWzUsNikn OworLS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJpYyBp ZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0OgorREVMRVRFIEZST00gdGVt cG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAx KScpLAorICAoJ1s1LDYpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUworICAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcsICdbNSw2 KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYtMDItMDEsMjAx Ni0wMy0wMSknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAyLTAx LDIwMTgtMDMtMDEpJzsKKy0tIEEgUEsgdXBkYXRlIHNsaWRpbmcgdGhlIGVkZ2UgYmV0d2VlbiB0 d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUworICAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJyksCisgICgn WzYsNyknLCAnWzIwMTgtMDItMDEsMjAxOC0wMy0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT CisgICgnWzQsNSknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTE1JywgJ1s2LDcpJyk7CitVUERB VEUgdGVtcG9yYWxfcm5nCitTRVQgdmFsaWRfYXQgPSBDQVNFIFdIRU4gbG93ZXIodmFsaWRfYXQp ID0gJzIwMTgtMDEtMDEnIFRIRU4gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUn KQorICAgICAgICAgICAgICAgICAgICBXSEVOIGxvd2VyKHZhbGlkX2F0KSA9ICcyMDE4LTAyLTAx JyBUSEVOIGRhdGVyYW5nZSgnMjAxOC0wMS0wNScsICcyMDE4LTAzLTAxJykgRU5ECitXSEVSRSBp ZCA9ICdbNiw3KSc7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFu Z2UgYnV0IHN0aWxsIHZhbGlkOgorLS0gVGhlcmUgYXJlIHR3byByZWZlcmVuY2VzOiBvbmUgZnVs ZmlsbGVkIGJ5IHRoZSBmaXJzdCBwayByb3csCistLSB0aGUgb3RoZXIgZnVsZmlsbGVkIGJ5IGJv dGggcGsgcm93cyBjb21iaW5lZC4KK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKScpLAorICAo J1sxLDIpJywgJ1syMDE4LTAzLTAxLDIwMTgtMDYtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVF UworICAoJ1sxLDIpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0wMScsICdbMSwyKScpLAorICAo J1syLDMpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wNS0wMScsICdbMSwyKScpOworVVBEQVRFIHRl bXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMTUsMjAxOC0wMy0wMSknCitXSEVS RSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEg UEsgdXBkYXRlIGdyb3dpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgaXMgZmluZToKK1VQREFURSB0 ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDMtMDEpJworV0hF UkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0yNSc6OmRhdGU7CistLSBh IFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgYW5kIGNoYW5naW5nIHRo ZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNF VCBpZCA9ICdbMiwzKScsIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1LDIwMTgtMDMtMDEpJworV0hF UkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CitFUlJP UjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMgZm9y ZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIgb24gdGFibGUgInRl bXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBb MjAxOC0wMS0wMSwyMDE4LTAzLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0 ZW1wb3JhbF9ma19wZXIycm5nIi4KKy0tIGEgUEsgdXBkYXRlIGNoYW5naW5nIG9ubHkgdGhlIGlk IGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlk ID0gJ1syLDMpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0x NSc6OmRhdGU7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3Ju ZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19m ayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxp ZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNl ZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIi4KKy0tIGEgUEsgdXBkYXRlIHRoYXQg bG9zZXMgdGltZSBmcm9tIGJvdGggZW5kcywgYnV0IGlzIHN0aWxsIHZhbGlkOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1syLDMpJywgJ1syMDE4 LTAxLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1s1LDYpJywg JzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0wMScsICdbMiwzKScpOworVVBEQVRFIHRlbXBvcmFsX3Ju ZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMTUsMjAxOC0wMi0xNSknCitXSEVSRSBpZCA9ICdb MiwzKSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJl bmNlZDoKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE2LTAxLTAxLDIw MTYtMDItMDEpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0w MSwyMDE4LTAyLTAxKSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBv cmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVy MnJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlk LCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVm ZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIi4KKy0tIGEgUEsgdXBkYXRl IHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBidXQgbm90ICd0aWwgY29t bWl0OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgICBBTFRF UiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJ QUxMWSBERUZFUlJFRDsKKyAgVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIw MTYtMDEtMDEsMjAxNi0wMi0wMSknCisgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQg PSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworRVJST1I6 ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVp Z24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1w b3JhbF9ma19wZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIw MTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVt cG9yYWxfZmtfcGVyMnJuZyIuCistLSBjaGFuZ2luZyB0aGUgc2NhbGFyIHBhcnQgZmFpbHM6CitV UERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJyBB TkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNv bnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19w ZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEs MjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtf cGVyMnJuZyIuCistLSBjaGFuZ2luZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBE QVRFIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0w MicgVE8gJzIwMTgtMDEtMDMnCitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7 CistLSBjaGFuZ2luZyBqdXN0IGEgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9ybmcKK0ZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJwor U0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3Ig ZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0 cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIy cm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAx OC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVy MnJuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywg J1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbNSw2KSB8IFsy MDE2LTAyLTAxLDIwMTYtMDMtMDEpCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKQor IFs1LDYpIHwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkKKyBbNyw4KSB8IFsyMDE4LTAxLTAyLDIw MTgtMDEtMDMpCisoNCByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcg V0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZh bGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzMsNCkgfCAyMDE4LTAxLTA1IHwgMjAxOC0wMS0x MCB8IFs1LDYpCisoMSByb3cpCisKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVj b3JkIGFuZCB0aGUgc2FtZSBQSyB1cGRhdGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1szLDQpJzsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VU IHZhbGlkX2F0ID0gJ1syMDE2LTAxLTAxLDIwMTYtMDItMDEpJworV0hFUkUgaWQgPSAnWzUsNikn IEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7CistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIHVwZGF0ZXMgUkVTVFJJQ1QKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcs IHRlbXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2Zr CisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcKKyAgT04gVVBEQVRFIFJFU1RSSUNUOworRVJST1I6ICB1bnN1cHBvcnRl ZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklP RAorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIE5PIEFDVElPTgorLS0KK1RSVU5D QVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mawor ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcm5nOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBu dW1lcmljIGlkIGlzbid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKTsK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBhIFBLIGRl bGV0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBudW1lcmljIGlkIGlzIHJlZmVyZW5j ZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkn KSwKKyAgKCdbNSw2KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAnWzUsNiknKTsK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0 ID0gJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMg YmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdI RVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkn OworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZpb2xh dGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9uIHRh YmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShb NSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0 YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIuCistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJl Y2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOwor ICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgICAgQUxURVIgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7 CisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlk X2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK0NPTU1JVDsKK0VS Uk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBm b3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBvbiB0YWJsZSAi dGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiks IFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUg InRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQg aXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9ICdbNSw2KSc7 CistLSBkZWxldGluZyBqdXN0IGEgcGFydCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEt MTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFi bGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9y YWxfZmtfcGVyMnJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6 ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMywyMDE4LTAyLTAxKSkgaXMg c3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIi4KK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFs1LDYpIHwgWzIwMTgtMDEtMDEsMjAx OC0wMS0wMikKKyBbNSw2KSB8IFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpCisoMiByb3dzKQorCitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgWzMsNCkgfCAyMDE4LTAxLTA1IHwgMjAxOC0wMS0xMCB8IFs1LDYpCisoMSByb3cpCisKKy0t IHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQSyBkZWxl dGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0g J1szLDQpJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5E IHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJzsKKy0tCistLSB0ZXN0IEZLIHJl ZmVyZW5jZWQgZGVsZXRlcyBSRVNUUklDVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVt cG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3JuZworICBPTiBERUxFVEUgUkVTVFJJQ1Q7CitFUlJPUjogIHVuc3VwcG9ydGVkIE9O IERFTEVURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECist LQorLS0gcGVyMnJuZyB0ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucworLS0KKy0tIFRPQzoK Ky0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FT Q0FERQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIGRlbGV0 ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAo dHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2Fs YXIgY29scykKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xz KQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLSBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vi c2V0KQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMp CistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0t IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzLCBTRVQgREVG QVVMVCBzdWJzZXQpCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0w MS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsK Ky0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlk ID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg MjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEg fCAyMDIwLTAxLTAxIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0w MSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3Jh bF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRf aWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNyw4KQorIFsxMDAsMTAxKSB8 IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAx IHwgMjAyMS0wMS0wMSB8IFs3LDgpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVy ZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIw MjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlk ID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEt MDEgfCBbOSwxMCkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkp CisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0w MS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykK KyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMiByb3dzKQor CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgaWQgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsIHwgcGFyZW50X2lkIAorLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0KKygwIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1sy MDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9y YWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgICBPTiBERUxFVEUgU0VU IE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitV UERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcp CisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVw ZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEg fCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsxMDAsMTAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAx LTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcg U0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIw MjAtMDEtMDEgfCAKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkp CisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwK Ky0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzIwMTgt MDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcp CisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIGRl bGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAKKyBbMTAwLDEw MSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEg fCAyMDIxLTAxLTAxIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBp ZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBh cmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsyMDAsMjAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFs X3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEt MDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJy bmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgICAgT04gREVMRVRFIFNF VCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEg fCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisg WzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykKKwor LS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScg V0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEg fCAyMDE5LTAxLTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEt MDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSww KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgt MDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywg J1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlk ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFy ZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisgWzIwMCwy MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNBVEUgdGVt cG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnKCwpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8 IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEw MCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVw ZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkKKyBb MTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1sy MDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5n IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdb MjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9t IHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0w MSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkK KygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0 d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsy X3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmsyX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2Zr LAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NB REU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBT RVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEg fCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEt MDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0w MS0wMSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIx LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAs MTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNyw4KSAgICAgIHwgWzYsNykKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAo J1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSkn KTsKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50 X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAy MC0wMS0wMSB8IFs5LDEwKSAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAy MDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5D QVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Bl cjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNykn LCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVt cG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAn MjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwg WzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEg fCBbNiw3KSAgICAgIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVM RVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKygwIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dz OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdb OCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVu dF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAn WzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksg cmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNB VEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywg J1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVy MnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScs ICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04g REVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlk MSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlk X2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQor IFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsx MDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCiso MyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBp ZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBh cmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8 ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAg ICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8ICAgICAg ICAgICAgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgs OSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzksMTApJyBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4 LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkgfCAyMDIwLTAx LTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCist LQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywg J1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScs ICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9p ZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTkt MDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAy MC0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0w MS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAx IHwgMjAxOS0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwg MjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAy MS0wMS0wMSB8ICAgICAgICAgICAgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIg V0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAx OC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzIwMCwyMDEpIHwgMjAyMC0w MS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBT RVQgTlVMTCBzdWJzZXQpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsy X3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5 b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsy X3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxpZF9hdCkgT04gVVBEQVRF IFNFVCBOVUxMOworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERF TEVURSBTRVQgYWN0aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5n X2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRfaWQx KSBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0w MS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50 X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAx OS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAy MDIwLTAxLTAxIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8 IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8g ZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAx OC0wMS0wMSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAy MDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgICAgICAgICAgICB8IFs2LDcpCisoMyByb3dzKQor CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIw MTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8 IFs4LDkpCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAg IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIs IHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCAnKCwpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcK KyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBBTFRF UiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERF TEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJywgaWQy ID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBb Niw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8 IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0w MSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitV UERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0x LDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwg Wy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbLTEsMCkgICAg IHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgs OSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr Ml9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4 LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s5LDEwKScs IGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5 LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSww KQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4 LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1w b3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgJygsKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdb Niw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVu dF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAn WzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQx IHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAx LTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAt MDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBk YXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0w MS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAx OS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwg MjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisoMyByb3dzKQor CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIw MTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8 IFstMSwwKQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAg ICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMg U0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KK1RS VU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2 LDcpJywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1 c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrMl9wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEs LTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJl bnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRF IFNFVCBERUZBVUxUOworRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9O IERFTEVURSBTRVQgYWN0aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFV TFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEp IE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVM RVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJl bnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAy MDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8 IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAx IHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQ TyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAy MDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKSAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8 IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEp IHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbLTEsMCkgICAgIHwgWzYsNykKKygzIHJvd3Mp CisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQx LCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlk X2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s4LDkpJywgJygsKScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUg aWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0w MSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCAyMDIwLTAx LTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0gRksg d2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5n ZShzdWJ0eXBlPWRhdGUpOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Ju ZzNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFs aWRfYXQgbXlkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmszX3JuZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9ybmczIChpZCwgUEVSSU9EIHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzMgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBteWRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmszX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScs IG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9ybmczIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrM19ybmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKyAgaWQgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8 IFs4LDkpCisgWzUsNikgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dz KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrM19ybmcycm5nOworRFJPUCBUQUJMRSB0ZW1wb3Jh bF9ybmczOworRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOworLS0KKy0tIEZLIGJldHdlZW4gcGFydGl0 aW9uZWQgdGFibGVzOiByYW5nZXMKKy0tCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUg dGV4dCwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispIFBBUlRJVElPTiBCWSBMSVNUIChp ZCk7CitDUkVBVEUgVEFCTEUgdHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5 LDEwKScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwy MCknLCAnWzIxLDIyKScsICdbMjMsMjQpJyk7CitDUkVBVEUgVEFCTEUgdHAyIFBBUlRJVElPTiBP RiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywgJ1syLDMp JywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScsICdbMTQs MTUpJywgJ1sxNiwxNyknLCAnWzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAnWzI0LDI1 KScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQs IG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAt MDItMDEnKSwgJ29uZScpLAorICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIw MDAtMDMtMDEnKSwgJ29uZScpLAorICAoJ1syLDMpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywg JzIwMTAtMDEtMDEnKSwgJ3R3bycpOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAg cGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispIFBBUlRJVElPTiBCWSBM SVNUIChpZCk7CitDUkVBVEUgVEFCTEUgdGZrcDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYp JywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdb MTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdbMjMsMjQpJyk7CitDUkVBVEUgVEFCTEUg dGZrcDIgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9SIFZB TFVFUyBJTiAoJ1swLDEpJywgJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sx MCwxMSknLCAnWzEyLDEzKScsICdbMTQsMTUpJywgJ1sxNiwxNyknLCAnWzE4LDE5KScsICdbMjAs MjEpJywgJ1syMiwyMyknLCAnWzI0LDI1KScpOworLS0KKy0tIHBhcnRpdGlvbmVkIEZLIHJlZmVy ZW5jaW5nIGluc2VydHMKKy0tCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzEsMiknLCBkYXRl cmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0xNScpLCAnWzEsMiknKSwKKyAgKCdbMSwyKScs IGRhdGVyYW5nZSgnMjAwMS0wMS0wMScsICcyMDAyLTAxLTAxJyksICdbMiwzKScpLAorICAoJ1sy LDMpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMTUnKSwgJ1sxLDIpJyk7Cist LSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsIGRhdGVyYW5n ZSgnMjAxMC0wMS0wMScsICcyMDEwLTAyLTE1JyksICdbMSwyKScpOworRVJST1I6ICBpbnNlcnQg b3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMSIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWlu dCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFy ZW50X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxMC0wMS0wMSwyMDEwLTAyLTE1KSkgaXMgbm90 IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyIuCitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTCisgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0x NScpLCAnWzMsNCknKTsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGZrcDEi IHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmdfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMyw0KSwg WzIwMDAtMDEtMDEsMjAwMC0wMi0xNSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmciLgorLS0KKy0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jaW5nIHVw ZGF0ZXMKKy0tCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBTRVQgdmFs aWRfYXQgPSBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0xMycpIFdIRVJFIGlkID0g J1syLDMpJzsKKy0tIG1vdmUgYSByb3cgZnJvbSB0aGUgZmlyc3QgcGFydGl0aW9uIHRvIHRoZSBz ZWNvbmQKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFNFVCBpZCA9ICdb NCw1KScgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gbW92ZSBhIHJvdyBmcm9tIHRoZSBzZWNvbmQg cGFydGl0aW9uIHRvIHRoZSBmaXJzdAorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmcgU0VUIGlkID0gJ1sxLDIpJyBXSEVSRSBpZCA9ICdbNCw1KSc7CiAtLSBzaG91bGQgZmFp bDoKIFVQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFNFVCB2YWxpZF9hdCA9 IGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTA0LTAxJykgV0hFUkUgaWQgPSAnWzEsMikn OwogRVJST1I6ICBjb25mbGljdGluZyBrZXkgdmFsdWUgdmlvbGF0ZXMgZXhjbHVzaW9uIGNvbnN0 cmFpbnQgInRma3AxX3BrZXkiCkBAIC00MjIwLDQgKzg1MjQsMTggQEAgU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxNSwxNikn OwogCiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CiBE Uk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZzsKKy0tCistLSBGSyBiZXR3ZWVu IHBhcnRpdGlvbmVkIHRhYmxlczogUEVSSU9EcworLS0KK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9wZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIG5hbWUgdGV4dCwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3Ju Z19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispIFBBUlRJ VElPTiBCWSBMSVNUIChpZCk7CitDUkVBVEUgVEFCTEUgdHAxIFBBUlRJVElPTiBPRiB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9wZXIgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYp JywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdb MTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdbMjMsMjQpJyk7CitFUlJPUjogIEluaGVy aXRpbmcgZnJvbSBhIHRhYmxlIHdpdGggYSBQRVJJT0QgaXMgbm90IHN1cHBvcnRlZAorRFJPUCBU QUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9wZXI7CiBSRVNFVCBkYXRlc3R5bGU7CmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlIGIvc3JjL3Rlc3QvcmVncmVz cy9wYXJhbGxlbF9zY2hlZHVsZQppbmRleCA4NDQzNTAyNjIxNy4uNjAzMDhkNDJiYjcgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQpAQCAtNDMsNyArNDMsNyBAQCB0ZXN0OiBjb3B5IGNv cHlzZWxlY3QgY29weWRtbCBjb3B5ZW5jb2RpbmcgaW5zZXJ0IGluc2VydF9jb25mbGljdAogIyBO b3RlOiBtYW55IG9mIHRoZSB0ZXN0cyBpbiBsYXRlciBncm91cHMgZGVwZW5kIG9uIGNyZWF0ZV9p bmRleAogIyAtLS0tLS0tLS0tCiB0ZXN0OiBjcmVhdGVfZnVuY3Rpb25fYyBjcmVhdGVfbWlzYyBj cmVhdGVfb3BlcmF0b3IgY3JlYXRlX3Byb2NlZHVyZSBjcmVhdGVfdGFibGUgY3JlYXRlX3R5cGUg Y3JlYXRlX3NjaGVtYQotdGVzdDogY3JlYXRlX2luZGV4IGNyZWF0ZV9pbmRleF9zcGdpc3QgY3Jl YXRlX3ZpZXcgaW5kZXhfaW5jbHVkaW5nIGluZGV4X2luY2x1ZGluZ19naXN0Cit0ZXN0OiBjcmVh dGVfaW5kZXggY3JlYXRlX2luZGV4X3NwZ2lzdCBjcmVhdGVfdmlldyBpbmRleF9pbmNsdWRpbmcg aW5kZXhfaW5jbHVkaW5nX2dpc3QgcGVyaW9kcwogCiAjIC0tLS0tLS0tLS0KICMgQW5vdGhlciBn cm91cCBvZiBwYXJhbGxlbCB0ZXN0cwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv Zm9yX3BvcnRpb25fb2Yuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yu c3FsCmluZGV4IDc0OTNjYzRjMjMzLi4wYjMzNjFhMTQyMCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L2Zvcl9wb3J0aW9uX29mLnNxbApAQCAtODAxLDYgKzgwMSw1NiBAQCBTRUxFQ1QgKiBGUk9NIGZv cl9wb3J0aW9uX29mX3Rlc3QyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIAogRFJPUCBUQUJMRSBm b3JfcG9ydGlvbl9vZl90ZXN0MjsKIAorLS0gVGVzdCB3aXRoIFBFUklPRHMKKworQ1JFQVRFIFRB QkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBuYW1lIHRleHQgTk9UIE5VTEws CisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNU UkFJTlQgZm9yX3BvcnRpb25fb2ZfdGVzdDJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitW QUxVRVMKKygnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJywgJ29uZScpLAorKCdb MSwyKScsICcyMDE4LTAyLTA0JywgJzIwMTgtMDMtMDMnLCAnb25lJyksCisoJ1sxLDIpJywgJzIw MTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcsICdvbmUnKSwKKygnWzIsMyknLCAnMjAxOC0wMS0wMScs ICcyMDE4LTA1LTAxJywgJ3R3bycpLAorKCdbMyw0KScsICcyMDE4LTAxLTAxJywgbnVsbCwgJ3Ro cmVlJyk7Cis7CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8gJzIwMTgtMDItMTAnCitTRVQgbmFtZSA9ICdv bmVeMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE4 LTAyLTE1JworV0hFUkUgaWQgPSAnWzIsMyknOworCistLSBTZXR0aW5nIHRoZSBzdGFydCBjb2x1 bW4gZmFpbHM6CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJworU0VUIHZhbGlkX2Zyb20g PSAnMjAxOC0wMi0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gU2V0dGluZyB0aGUgZW5k IGNvbHVtbiBmYWlsczoKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8gJzIwMTgtMDItMTAnCitTRVQgdmFsaWRf dGlsID0gJzIwMTgtMDItMDEnCitXSEVSRSBpZCA9ICdbMSwyKSc7CisKKy0tIFNldHRpbmcgdGhl IGdlbmVyYXRlZCBjb2x1bW4gZmFpbHM6CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTAnIFRPICcyMDE4LTAyLTEwJwor U0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAyLTAxLDIwMTgtMDItMDMpJworV0hFUkUgaWQgPSAnWzEs MiknOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKKwogLS0gVGVzdCB3 aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKIAogQ1JFQVRFIFRZUEUgbXlkYXRlcmFuZ2UgQVMgcmFu Z2Uoc3VidHlwZT1kYXRlKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Blcmlv ZHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGVyaW9kcy5zcWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjA0YTMwMTEwZGVjCi0tLSAvZGV2L251bGwKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9zcWwvcGVyaW9kcy5zcWwKQEAgLTAsMCArMSwxOTggQEAKKy8qIFN5 c3RlbSBwZXJpb2RzIGFyZSBub3QgaW1wbGVtZW50ZWQgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQg aW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBzeXN0ZW1fdGltZSAoZHMsIGRl KSk7CisKKy8qIFBlcmlvZHMgbXVzdCBzcGVjaWZ5IGFjdHVhbCBjb2x1bW5zICovCitjcmVhdGUg dGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoYm9n dXMsIGRlKSk7CitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUs IHBlcmlvZCBmb3IgcCAoZHMsIGJvZ3VzKSk7CisKKy8qIERhdGEgdHlwZXMgbXVzdCBtYXRjaCBl eGFjdGx5ICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIHRpbWVz dGFtcCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdl ciwgZHMgdGV4dCBjb2xsYXRlICJDIiwgZGUgdGV4dCBjb2xsYXRlICJQT1NJWCIsIHBlcmlvZCBm b3IgcCAoZHMsIGRlKSk7CisKKy8qIFBlcmlvZHMgbXVzdCBoYXZlIGEgZGVmYXVsdCBCVHJlZSBv cGVyYXRvciBjbGFzcyAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyB4bWwsIGRl IHhtbCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKKworLyogUGVyaW9kIGFuZCBjb2x1bW4gbmFt ZXMgYXJlIGluIHRoZSBzYW1lIG5hbWVzcGFjZSAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRl Z2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIGN0aWQgKGRzLCBkZSkpOworY3JlYXRl IHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIGlkIChk cywgZGUpKTsKKworLyogUGVyaW9kIG5hbWUgY2FuJ3QgYmUgZ2l2ZW4gbW9yZSB0aGFuIG9uY2Ug Ki8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9k IGZvciBwIChkcywgZGUpLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOworCisvKiBQZXJpb2QgY2Fu J3QgdXNlIHRoZSBzYW1lIGNvbHVtIGZvciBzdGFydCBhbmQgZW5kKi8KK2NyZWF0ZSB0YWJsZSBw dCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZHMpKTsK KworLyogTm93IG1ha2Ugb25lIHRoYXQgd29ya3MgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50 ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKKy8qIEl0cyBn ZW5lcmF0ZWQgY29sdW1uIGxvb2tzIGdvb2QgKi8KK3NlbGVjdCBhdHRuYW1lLCBhdHR0eXBpZDo6 cmVndHlwZSwgYXR0bm90bnVsbCwgYXR0Z2VuZXJhdGVkIGZyb20gcGdfYXR0cmlidXRlIHdoZXJl IGF0dHJlbGlkID0gJ3B0Jzo6cmVnY2xhc3MgYW5kIGF0dG5hbWUgPSAncCc7CitzZWxlY3QgY29u bmFtZSwgY29udHlwZSBmcm9tIHBnX2NvbnN0cmFpbnQgd2hlcmUgY29ucmVsaWQgPSAncHQnOjpy ZWdjbGFzcyBvcmRlciBieSBjb25uYW1lOworLyogSXQgYXBwZWFycyBpbiB0aGUgaW5mb3JtYXRp b25fc2NoZW1hICovCitzZWxlY3QgKiBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5wZXJpb2RzOwor CisvKiBTRUxFQ1QgKiBleGNsdWRlcyB0aGUgUEVSSU9EICovCitpbnNlcnQgaW50byBwdCB2YWx1 ZXMgKDEsICcyMDAwLTAxLTAxJywgJzIwMDEtMDEtMDEnKTsKK3NlbGVjdCAqIGZyb20gcHQ7CisK Ky8qIFlvdSBjYW4gZ2V0IGl0IGlmIHlvdSB3YW50ICovCitzZWxlY3QgKiwgcCBmcm9tIHB0Owor CisvKiBZb3UgY2FuIGNvbW1lbnQgb24gaXQgKi8KK2NvbW1lbnQgb24gcGVyaW9kIHB0LnAgaXMg J3Rlc3QgY29tbWVudCc7CitzZWxlY3Qgb2JqX2Rlc2NyaXB0aW9uKChzZWxlY3Qgb2lkIGZyb20g cGdfcGVyaW9kIHdoZXJlIHBlcnJlbGlkID0gJ3B0Jzo6cmVnY2xhc3MgYW5kIHBlcm5hbWUgPSAn cCcpLCAncGdfcGVyaW9kJyk7CisKKy8qIFR3byBhcmUgb2theSAqLworY3JlYXRlIHRhYmxlIHB0 MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwMSAoZHMsIGRlKSwg cGVyaW9kIGZvciBwMiAoZHMsIGRlKSk7Citkcm9wIHRhYmxlIHB0MjsKKworLyogU2tpcCBjcmVh dGluZyBHRU5FUkFURUQgY29sdW1uOiB3b3JrcyAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50 ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFs d2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCwgcGVyaW9kIGZvciBwIChkcywgZGUp IHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKK1xkIHB0MgorZHJvcCB0YWJsZSBwdDI7CisvKiBT a2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbCBpc24n dCB0aGVyZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0 ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKKy8qIFNr aXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgb3B0aW9uIGhh cyBhbiBpbnZhbGlkIHZhbHVlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBk YXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gJ3do YXRldmVyJykpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNh dXNlIHRoZSBjb2x1bW4gaXMgbm90IE5PVCBOVUxMICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBp bnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBnZW5lcmF0ZWQgYWx3YXlzIGFz IChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAo Y29sZXhpc3RzID0gdHJ1ZSkpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBm YWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IEdFTkVSQVRFRCAqLworY3JlYXRlIHRhYmxl IHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGws IHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CisvKiBTa2lw IGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBH RU5FUkFURUQgYnV0IHdpdGggdGhlIHdyb25nIGV4cHJlc3Npb24gKi8KKy0tIFRPRE86CistLSBj cmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5n ZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZGUsIGRzKSkgc3RvcmVk LCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpOworLyogU2tp cCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMg dGhlIHdyb25nIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUs IGRlIGRhdGUsIHAgdHNyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzICh0c3Jhbmdl KGRzLCBkZSkpIHN0b3JlZCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9 IHRydWUpKTsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVz ZSB0aGUgY29sdW1uIGlzIGluaGVyaXRlZCAqLworY3JlYXRlIHRhYmxlIHB0MnBhcmVudCAoaWQg aW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVk IGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCk7CitjcmVhdGUgdGFibGUgcHQy IChwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpIGluaGVyaXRz IChwdDJwYXJlbnQpOworZHJvcCB0YWJsZSBwdDJwYXJlbnQ7CisKKworLyoKKyAqIEFMVEVSIFRB QkxFIHRlc3RzCisgKi8KK2FsdGVyIHRhYmxlIHB0IGRyb3AgcGVyaW9kIGZvciBwOworYWx0ZXIg dGFibGUgcHQgYWRkIHBlcmlvZCBmb3Igc3lzdGVtX3RpbWUgKGRzLCBkZSk7CithbHRlciB0YWJs ZSBwdCBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpOworLyogSXRzIGdlbmVyYXRlZCBjb2x1bW4g bG9va3MgZ29vZCAqLworc2VsZWN0IGF0dG5hbWUsIGF0dHR5cGlkOjpyZWd0eXBlLCBhdHRub3Ru dWxsLCBhdHRnZW5lcmF0ZWQgZnJvbSBwZ19hdHRyaWJ1dGUgd2hlcmUgYXR0cmVsaWQgPSAncHQn OjpyZWdjbGFzcyBhbmQgYXR0bmFtZSA9ICdwJzsKK3NlbGVjdCBjb25uYW1lLCBjb250eXBlIGZy b20gcGdfY29uc3RyYWludCB3aGVyZSBjb25yZWxpZCA9ICdwdCc6OnJlZ2NsYXNzIG9yZGVyIGJ5 IGNvbm5hbWU7CisKKy8qIEFkZGluZyBhIHNlY29uZCBvbmUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIg KGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcDEgKGRzLCBkZSkpOwor YWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAyIChkcywgZGUpOworZHJvcCB0YWJsZSBw dDI7CisKKy8qIENhbid0IGRyb3AgaXRzIGNvbHVtbnMgKi8KK2FsdGVyIHRhYmxlIHB0IGRyb3Ag Y29sdW1uIGRzOworYWx0ZXIgdGFibGUgcHQgZHJvcCBjb2x1bW4gZGU7CisKKy8qIENhbid0IGNo YW5nZSB0aGUgZGF0YSB0eXBlcyAqLworYWx0ZXIgdGFibGUgcHQgYWx0ZXIgY29sdW1uIGRzIHR5 cGUgdGltZXN0YW1wOworYWx0ZXIgdGFibGUgcHQgYWx0ZXIgY29sdW1uIGRzIHR5cGUgdGltZXN0 YW1wOworCisvKiBjb2x1bW4vcGVyaW9kIG5hbWVzcGFjZSBjb25mbGljdHMgKi8KK2FsdGVyIHRh YmxlIHB0IGFkZCBjb2x1bW4gcCBpbnRlZ2VyOworYWx0ZXIgdGFibGUgcHQgcmVuYW1lIGNvbHVt biBpZCB0byBwOworYWx0ZXIgdGFibGUgcHQgYWRkIHBlcmlvZCBmb3IgdGFibGVvaWQgKGRzLCBk ZSk7CithbHRlciB0YWJsZSBwdCBhZGQgcGVyaW9kIGZvciAiLi4uLi4uLi5wZy5kcm9wcGVkLjQu Li4uLi4uLiIgKGRzLCBkZSk7CisKKy8qIGFkZGluZyBjb2x1bW5zIGFuZCB0aGUgcGVyaW9kIGF0 IHRoZSBzYW1lIHRpbWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIpOworYWx0ZXIg dGFibGUgcHQyIGFkZCBjb2x1bW4gZHMgZGF0ZSwgYWRkIGNvbHVtbiBkZSBkYXRlLCBhZGQgcGVy aW9kIGZvciBwIChkcywgZGUpOworZHJvcCB0YWJsZSBwdDI7CisKKy8qIEFtYmlndW91cyByYW5n ZSB0eXBlcyByYWlzZSBhbiBlcnJvciAqLworY3JlYXRlIHR5cGUgbXlkYXRlcmFuZ2UgYXMgcmFu Z2Uoc3VidHlwZT1kYXRlKTsKK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludCwgZHMgZGF0ZSwgZGUg ZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsKKworLyogWW91IGNhbiBnaXZlIGFuIGV4cGxp Y2l0IHJhbmdlIHR5cGUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludCwgZHMgZGF0ZSwgZGUg ZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKHJhbmdldHlwZSA9ICdteWRhdGVyYW5n ZScpKTsKK2Ryb3AgdHlwZSBteWRhdGVyYW5nZTsKK2Ryb3AgdHlwZSBteWRhdGVyYW5nZSBjYXNj YWRlOworZHJvcCB0YWJsZSBwdDI7CitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnQsIGRzIGRhdGUs IGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChyYW5nZXR5cGUgPSAnZGF0ZXJh bmdlJykpOworCisvKiBSYW5nZSB0eXBlIGlzIG5vdCBmb3VuZCAqLworY3JlYXRlIHRhYmxlIHB0 MyAoaWQgaW50LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAo cmFuZ2V0eXBlID0gJ25vdGFyYW5nZScpKTsKKworLyogUmFuZ2UgdHlwZSBpcyB0aGUgd3Jvbmcg dHlwZSAqLworY3JlYXRlIHRhYmxlIHB0MyAoaWQgaW50LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJp b2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAocmFuZ2V0eXBlID0gJ3RzdHpyYW5nZScpKTsKK2Ryb3Ag dGFibGUgcHQyOworCisvKiBQZXJpb2QgY2FuJ3QgdXNlIHRoZSBzYW1lIGNvbHVtIGZvciBzdGFy dCBhbmQgZW5kKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRh dGUpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkcyk7Citkcm9wIHRh YmxlIHB0MjsKKworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiB3b3JrcyAqLwor Y3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFu Z2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3Jl ZCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xl eGlzdHMgPSB0cnVlKTsKK1xkIHB0MgorZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5n IEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbCBpc24ndCB0aGVyZSAqLwor Y3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSk7CithbHRlciB0 YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVl KTsKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBm YWlscyBiZWNhdXNlIHRoZSBvcHRpb24gaGFzIGFuIGludmFsaWQgdmFsdWUgKi8KK2NyZWF0ZSB0 YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBu dWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQpOworYWx0 ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0g J3doYXRldmVyJyk7Citkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVE IGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIG5vdCBOT1QgTlVMTCAqLworY3Jl YXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ug Z2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCk7CithbHRlciB0 YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVl KTsKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBm YWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IEdFTkVSQVRFRCAqLworY3JlYXRlIHRhYmxl IHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwp OworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhp c3RzID0gdHJ1ZSk7Citkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVE IGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIEdFTkVSQVRFRCBidXQgd2l0aCB0 aGUgd3JvbmcgZXhwcmVzc2lvbiAqLworLS0gVE9ETzoKKy0tIGNyZWF0ZSB0YWJsZSBwdDIgKGlk IGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBudWxsIGdlbmVyYXRl ZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkZSwgZHMpKSBzdG9yZWQpOworLS0gYWx0ZXIgdGFibGUg cHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7Cisv KiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVt biBpcyB0aGUgd3JvbmcgdHlwZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMg ZGF0ZSwgZGUgZGF0ZSwgcCB0c3JhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKHRz cmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBw IChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOworZHJvcCB0YWJsZSBwdDI7CisvKiBT a2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBp cyBpbmhlcml0ZWQgKi8KK2NyZWF0ZSB0YWJsZSBwdDJwYXJlbnQgKGlkIGludGVnZXIsIGRzIGRh dGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRh dGVyYW5nZShkcywgZGUpKSBzdG9yZWQpOworY3JlYXRlIHRhYmxlIHB0MiAoKSBpbmhlcml0cyAo cHQycGFyZW50KTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdp dGggKGNvbGV4aXN0cyA9IHRydWUpOworZHJvcCB0YWJsZSBwdDI7Citkcm9wIHRhYmxlIHB0MnBh cmVudDsKKworLyogQ1JFQVRFIFRBQkxFIChMSUtFIC4uLikgKi8KKworLyogUGVyaW9kcyBhcmUg bm90IGNvcGllZCBieSBMSUtFLCBzbyB0aGVpciBjb2x1bW5zIGFyZW4ndCBlaXRoZXIgKi8KK2Ny ZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQpOworXGQgcHQyCitkcm9wIHRhYmxlIHB0MjsKKworLyog Q2FuIGFkZCBhIHBlcmlvZCByZWZlcnJpbmcgdG8gTElLRSdkIGNvbHVtbnMgKi8KK2NyZWF0ZSB0 YWJsZSBub3RfcCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSk7CitjcmVhdGUgdGFibGUg cHQyIChsaWtlIG5vdF9wLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOworXGQgcHQyCitkcm9wIHRh YmxlIHB0MjsKKworLyogQ2FuIGFkZCBhIHBlcmlvZCB3aXRoIHRoZSBzYW1lIG5hbWUgKi8KK2Ny ZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitcZCBwdDIK K2Ryb3AgdGFibGUgcHQyOworCisvKiBDYW4gYWRkIGEgcGVyaW9kIHdpdGggYSBkaWZmZXJlbnQg bmFtZSAqLworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCwgcGVyaW9kIGZvciBwMiAoZHMsIGRl KSk7CitcZCBwdDIKK2Ryb3AgdGFibGUgcHQyOworCisvKiBDYW4ndCBhZGQgYSBwZXJpb2Qgd2hv c2UgbmFtZSBjb25mbGljdHMgd2l0aCBhIExJS0UnZCBjb2x1bW4gKi8KK2NyZWF0ZSB0YWJsZSBw dDIgKGxpa2UgcHQsIHBlcmlvZCBmb3IgaWQgKGRzLCBkZSkpOworCisvKiBDUkVBVEUgVEFMQkUg SU5IRVJJVFMgKi8KKworLyogQ2FuJ3QgaW5oZXJpdCBmcm9tIGEgdGFibGUgd2l0aCBhIHBlcmlv ZCAqLworY3JlYXRlIHRhYmxlIHB0MiAobmFtZSB0ZXh0KSBpbmhlcml0cyAocHQpOworCisvKiBD YW4ndCBpbmhlcml0IHdpdGggYSBwZXJpb2QgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGQycyBkYXRl LCBkMmUgZGF0ZSwgcGVyaW9kIGZvciBwIChkMnMsIGQyZSkpIGluaGVyaXRzIChub3RfcCk7CisK K2Ryb3AgdGFibGUgbm90X3A7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2 aWxlZ2VzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsCmluZGV4IGFl NTdmMjMzMzE0Li5jMzZiMWQzNGFmNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwv cHJpdmlsZWdlcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwK QEAgLTc4Myw2ICs3ODMsMzQgQEAgVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIKIFNFVCBTRVNTSU9O IEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwogRFJPUCBUQUJMRSB0MTsKIAorLS0g dGVzdCBjb2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyBvbiB0aGUgUEVSSU9EIHVzZWQgaW4gRk9SIFBP UlRJT04gT0YKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwor Q1JFQVRFIFRBQkxFIHQxICgKKyAgYzEgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIHRpbWVzdGFt cCwKKyAgdmFsaWRfdGlsIHRpbWVzdGFtcCwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKwlDT05TVFJBSU5UIHQxcGsgUFJJTUFSWSBLRVkgKGMxLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0dSQU5UIFNFTEVDVCBPTiB0MSBUTyByZWdyZXNz X3ByaXZfdXNlcjI7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIzOwor R1JBTlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK0dSQU5UIFNFTEVDVCBP TiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjU7CitHUkFOVCBVUERBVEUgKGMxKSBPTiB0MSBUTyBy ZWdyZXNzX3ByaXZfdXNlcjI7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxpZF9hdCkgT04gdDEgVE8g cmVncmVzc19wcml2X3VzZXIzOworR1JBTlQgVVBEQVRFIChjMSwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjQ7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHZhbGlkX2F0KSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjU7 CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK1VQREFURSB0 MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0w MScgU0VUIGMxID0gJ1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19w cml2X3VzZXIzOworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAt MDEtMDEnIFRPICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVU SE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjQ7CitVUERBVEUgdDEgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMiwz KSc7CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyNTsKK1VQREFU RSB0MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0w MS0wMScgU0VUIGMxID0gJ1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVz c19wcml2X3VzZXIxOworRFJPUCBUQUJMRSB0MTsKKwogLS0gdGVzdCBjb2x1bW4tbGV2ZWwgcHJp dmlsZWdlcyB3aGVuIGludm9sdmVkIHdpdGggREVMRVRFCiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFU SU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIEFMVEVSIFRBQkxFIGF0ZXN0NiBBREQgQ09MVU1OIHRo cmVlIGludGVnZXI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292 ZXJsYXBzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsCmlu ZGV4IDIyNGRkZWY4NDMwLi4xODgwNDFlMWQwNyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0 aG91dF9vdmVybGFwcy5zcWwKQEAgLTkxLDYgKzkxLDMxIEBAIENSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ybmcyICgKIFNFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3Ry YWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3JuZzJfcGsnOwogU0VMRUNUIHBnX2dldF9p bmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5h bWUgPSAndGVtcG9yYWxfcm5nMl9wayc7CiAKKy0tIFBLIHdpdGggb25lIGNvbHVtbiBwbHVzIGEg UEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlciAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBv cmFsX3BlcgorU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25zdHJh aW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyX3BrJzsKK1NFTEVDVCBwZ19nZXRfaW5k ZXhkZWYoY29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1l ID0gJ3RlbXBvcmFsX3Blcl9wayc7CisKKy0tIFBLIHdpdGggdHdvIGNvbHVtbnMgcGx1cyBhIFBF UklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIyICgKKyAgaWQxIGludDRyYW5nZSwKKyAg aWQyIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXIyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbF9wZXIyCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFp bnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9w ZXIyX3BrJzsKK1NFTEVDVCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUpIEZST00g cGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjJfcGsnOworCiAtLSBQ SyB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGU6CiBDUkVBVEUgVFlQRSB0ZXh0cmFuZ2UyIEFTIHJh bmdlIChzdWJ0eXBlPXRleHQsIGNvbGxhdGlvbj0iQyIpOwogQ1JFQVRFIFRBQkxFIHRlbXBvcmFs X3JuZzMgKApAQCAtMTY5LDYgKzE5NCwzMyBAQCBTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYo b2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ybgogU0VM RUNUIHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50 IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcm5nM191cSc7CiBEUk9QIFRBQkxFIHRlbXBvcmFs X3JuZzM7CiAKKy0tIFVOSVFVRSB3aXRoIG9uZSBjb2x1bW4gcGx1cyBhIFBFUklPRDoKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9wZXIzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRh dGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbF9wZXIzCitTRUxFQ1Qg cGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFt ZSA9ICd0ZW1wb3JhbF9wZXIzX3VxJzsKK1NFTEVDVCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQs IDAsIHRydWUpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3Bl cjNfdXEnOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIzOworCistLSBVTklRVUUgd2l0aCB0d28g Y29sdW1ucyBwbHVzIGEgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjMgKAorICBp ZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZDEsIGlkMiwgdmFs aWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbF9wZXIzCitTRUxFQ1QgcGdf Z2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9 ICd0ZW1wb3JhbF9wZXIzX3VxJzsKK1NFTEVDVCBwZ19nZXRfaW5kZXhkZWYoY29uaW5kaWQsIDAs IHRydWUpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNf dXEnOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIzOworCiAtLSBVTklRVUUgd2l0aCBhIGN1c3Rv bSByYW5nZSB0eXBlOgogQ1JFQVRFIFRZUEUgdGV4dHJhbmdlMiBBUyByYW5nZSAoc3VidHlwZT10 ZXh0LCBjb2xsYXRpb249IkMiKTsKIENSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKQEAgLTI0 NSw2ICsyOTcsNTggQEAgQUxURVIgVEFCTEUgdGVtcG9yYWwzCiAgIFVOSVFVRSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpOwogRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAKKy0tIFBSSU1B UlkgS0VZIHdpdGggUEVSSU9EIGFscmVhZHkgdGhlcmUKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbDMg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUs CisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKKyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbDMKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrCisgIFBSSU1B UlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3JhbDMKK0RS T1AgVEFCTEUgdGVtcG9yYWwzOworCistLSBQUklNQVJZIEtFWSB3aXRoIFBFUklPRCB0b28KK0NS RUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0 ZSwKKyAgdmFsaWRfdGlsIGRhdGUKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQUREIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIEFERCBDT05TVFJB SU5UIHRlbXBvcmFsM19waworICBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpOworXGQgdGVtcG9yYWwzCitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKworLS0gVU5JUVVF IHdpdGggUEVSSU9EIGFscmVhZHkgdGhlcmUKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKKyk7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbDMKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWwzX3VxCisgIFVOSVFVRSAoaWQs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworXGQgdGVtcG9yYWwzCitEUk9QIFRBQkxFIHRl bXBvcmFsMzsKKworLS0gVU5JUVVFIHdpdGggUEVSSU9EIHRvbworQ1JFQVRFIFRBQkxFIHRlbXBv cmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwg ZGF0ZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWwzX3Vx CisgIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworXGQgdGVtcG9yYWwz CitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKwogLS0KIC0tIHJhbmdlIFBLOiB0ZXN0IHdpdGggZXhp c3Rpbmcgcm93cwogLS0KQEAgLTYxNSw2ICs3MTksMjEyIEBAIFdIRVJFICAgaWQgPSAnWzEsMikn IEFORCB2YWxpZF9hdCBJUyBOVUxMOwogU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9tbHRybmczIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKIERST1AgVEFCTEUgdGVtcG9yYWxfbWx0cm5nMzsKIAorLS0K Ky0tIFBFUklPRCBQSzogdGVzdCB3aXRoIGV4aXN0aW5nIHJvd3MKKy0tCisKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX3BlciBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrOworCistLSBva2F5 OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMikn LCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDEn LCAnMjAxOC0wMS0wNScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9wZXIgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIFBSSU1B UlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9wZXIgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wazsKKworLS0gc2hvdWxkIGZh aWw6CitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsK KyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworUk9MTEJBQ0s7 CistLSByZWplY3RzIGVtcHR5OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBE Uk9QIFBFUklPRCBGT1IgdmFsaWRfYXQ7CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0wMScsICcy MDIwLTAxLTAxJyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBBREQgUEVSSU9EIEZPUiB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsKK1JPTExCQUNLOworQUxURVIgVEFCTEUg dGVtcG9yYWxfcGVyIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBQUklNQVJZIEtFWSAo aWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVy OworCistLQorLS0gUEVSSU9EIFBLOiB0ZXN0IGluc2VydHMKKy0tCisKKy0tIG9rYXk6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMycpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4 LTAzLTAzJywgJzIwMTgtMDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4 LTAxLTA1Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBOVUxMKTsKKworLS0gc2hvdWxk IGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKE5V TEwsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKKy0tIHJlamVjdHMgZW1wdHk6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1szLDQpJywgJzIwMjAtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gUEVSSU9EIFBLOiB0ZXN0 IHVwZGF0ZXMKKy0tCisKKy0tIHVwZGF0ZSB0aGUgc2NhbGFyIHBhcnQKK1VQREFURSAgdGVtcG9y YWxfcGVyCitTRVQgICAgIGlkID0gJ1sxMSwxMiknCitXSEVSRSAgIGlkID0gJ1sxLDIpJworQU5E ICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSB1cGRhdGUgdGhlIFBFUklP RCBib3VuZHMKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIHZhbGlkX2Zyb20gPSAnMjAy MC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIxLTAxLTAxJworV0hFUkUgICBpZCA9 ICdbMTEsMTIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSB1 cGRhdGUgYm90aCBhdCBvbmNlCitVUERBVEUgIHRlbXBvcmFsX3BlcgorU0VUICAgICBpZCA9ICdb MjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywKKyAgICAgICAgdmFs aWRfdGlsID0gJzIwMTgtMDItMDMnCitXSEVSRSAgIGlkID0gJ1sxMSwxMiknCitBTkQgICAgIHZh bGlkX2F0IEA+ICcyMDIwLTAxLTE1Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVy IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFICB0ZW1wb3Jh bF9wZXIKK1NFVCAgICAgaWQgPSAnWzEsMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgt MDMtMDUnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wNS0wNScKK1dIRVJFICAgaWQgPSAn WzIxLDIyKSc7CistLSBzZXQgdGhlIHNjYWxhciBwYXJ0IHRvIE5VTEwKK1VQREFURSAgdGVtcG9y YWxfcGVyCitTRVQgICAgIGlkID0gTlVMTCwKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTAz LTA1JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDUtMDUnCitXSEVSRSAgIGlkID0gJ1sy MSwyMiknOworLS0gc2V0IGEgUEVSSU9EIGJvdW5kIHRvIE5VTEwgKG9rYXkpCitVUERBVEUgIHRl bXBvcmFsX3BlcgorU0VUICAgICBpZCA9ICdbMSwyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAn MjAxOC0wNC0wNCcsCisgICAgICAgIHZhbGlkX3RpbCA9IE5VTEwKK1dIRVJFICAgaWQgPSAnWzIx LDIyKSc7CistLSByZWplY3RzIGVtcHR5OgorVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAg aWQgPSAnWzIxLDIyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAg ICAgIHZhbGlkX3RpbCA9ICcyMDIwLTAxLTAxJworV0hFUkUgICBpZCA9ICdbMSwyKSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSBQ RVJJT0QgVVE6IHRlc3Qgd2l0aCBleGlzdGluZyByb3dzCistLQorCitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfcGVyMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxp ZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGls KQorKTsKKworLS0gb2theToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0w MycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0Jyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMTgt MDEtMDEnLCBOVUxMKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoTlVMTCwgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3Vx IFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworQUxURVIgVEFCTEUgdGVt cG9yYWxfcGVyMyBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cTsKKworLS0gc2hvdWxk IGZhaWw6CitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1 Jyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf cGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1JPTExCQUNL OworLS0gcmVqZWN0cyBlbXB0eToKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIz IERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdDsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0wMScs ICcyMDIwLTAxLTAxJyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMgQUREIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCk7CitST0xMQkFDSzsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX3BlcjMgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjM7CisKKy0tCistLSBQRVJJT0QgVVE6IHRlc3QgaW5zZXJ0cworLS0KKworLS0gb2theToKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMycpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAn MjAxOC0wMy0wMycsICcyMDE4LTA0LTA0Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAxJywg JzIwMTgtMDEtMDUnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBOVUxMKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo TlVMTCwgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworCistLSBzaG91bGQgZmFpbDoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1sxLDIpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworLS0gcmVqZWN0cyBlbXB0 eToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1szLDQpJywgJzIwMjAtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIFBFUklP RCBVUTogdGVzdCB1cGRhdGVzCistLQorCistLSB1cGRhdGUgdGhlIHNjYWxhciBwYXJ0CitVUERB VEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQgPSAnWzExLDEyKScKK1dIRVJFICAgaWQgPSAn WzEsMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0 ZSB0aGUgUEVSSU9EIGJvdW5kcworVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlk X2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIxLTAxLTAxJwor V0hFUkUgICBpZCA9ICdbMTEsMTIpJworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6 OmRhdGU7CistLSB1cGRhdGUgYm90aCBhdCBvbmNlCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NF VCAgICAgaWQgPSAnWzIxLDIyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMics CisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAzJworV0hFUkUgICBpZCA9ICdbMTEsMTIp JworQU5EICAgICB2YWxpZF9hdCBAPiAnMjAyMC0wMS0xNSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gc2hvdWxkIGZhaWw6CitV UERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQgPSAnWzEsMiknLAorICAgICAgICB2YWxp ZF9mcm9tID0gJzIwMTgtMDMtMDUnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wNS0wNScK K1dIRVJFICAgaWQgPSAnWzIxLDIyKSc7CistLSBzZXQgdGhlIHNjYWxhciBwYXJ0IHRvIE5VTEwg KG9rYXkpCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAgaWQgPSBOVUxMLAorICAgICAg ICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAyMS0w MS0wMScKK1dIRVJFICAgaWQgPSAnWzIxLDIyKSc7CistLSBzZXQgYSBQRVJJT0QgYm91bmQgdG8g TlVMTCAob2theSkKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9ICdbMSwyKScs CisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wNC0wNCcsCisgICAgICAgIHZhbGlkX3RpbCA9 IE5VTEwKK1dIRVJFICAgaWQgSVMgTlVMTCBBTkQgdmFsaWRfYXQgQD4gJzIwMjAtMDYtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIHNob3VsZCBmYWlsOgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlkX2Zy b20gPSAnMjAxOC0wMy0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTA1JworV0hF UkUgICBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX3RpbCBJUyBOVUxMOworLS0gcmVqZWN0cyBlbXB0 eToKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEt MDEnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAyMC0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzEs MiknIEFORCB2YWxpZF90aWwgSVMgTlVMTDsKKy0tIHN0aWxsIHJlamVjdHMgZW1wdHkgd2hlbiBz Y2FsYXIgcGFydCBpcyBOVUxMOgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0g TlVMTCwKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRf dGlsID0gJzIwMjAtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfdGlsIElT IE5VTEw7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIzOworCiAtLQogLS0gdGVzdCBhIHJhbmdlIHdpdGgg Ym90aCBhIFBLIGFuZCBhIFVOSVFVRSBjb25zdHJhaW50CiAtLQpAQCAtNjYyLDYgKzk3MiwzNyBA QCBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0IERST1AgTk9UIE5V TEw7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0IFRZUEUgdHN0 enJhbmdlIFVTSU5HIHRzdHpyYW5nZShsb3dlcih2YWxpZF9hdCksIHVwcGVyKHZhbGlkX2F0KSk7 CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgUkVOQU1FIENPTFVNTiB2YWxpZF9hdCBUTyB2YWxpZF90 aHJ1OwogQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgQ09MVU1OIHZhbGlkX3RocnU7CitcZCB0 ZW1wb3JhbDMKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworCitDUkVBVEUgVEFCTEUgdGVtcG9yYWwz ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRl LAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsM19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpCispOworXGQgdGVtcG9yYWwzCitTRUxFQ1QgYXR0bm90bnVsbCBGUk9NIHBnX2F0dHJp YnV0ZSBXSEVSRSBhdHRyZWxpZCA9ICd0ZW1wb3JhbDMnOjpyZWdjbGFzcyBBTkQgYXR0bmFtZSA9 ICd2YWxpZF9hdCc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0 IERST1AgTk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlk X2F0IFRZUEUgdHN0enJhbmdlIFVTSU5HIHRzdHpyYW5nZShsb3dlcih2YWxpZF9hdCksIHVwcGVy KHZhbGlkX2F0KSk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBDT0xVTU4gdmFsaWRfYXQ7 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0OworXGQgdGVt cG9yYWwzCitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKworLS0gU2FtZSByZXN1bHRzIGlmIHdlIGFk ZCB0aGUgUEVSSU9EIGFuZCBQSyBmcm9tIEFMVEVSIFRBQkxFOgorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwg ZGF0ZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWwzX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3Jh bDMKK1NFTEVDVCBhdHRub3RudWxsIEZST00gcGdfYXR0cmlidXRlIFdIRVJFIGF0dHJlbGlkID0g J3RlbXBvcmFsMyc6OnJlZ2NsYXNzIEFORCBhdHRuYW1lID0gJ3ZhbGlkX2F0JzsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgRFJPUCBOT1QgTlVMTDsKIERST1Ag VEFCTEUgdGVtcG9yYWwzOwogCiAtLQpAQCAtOTYzLDYgKzEzMDQsMTIxIEBAIFNFTEVDVCAqIEZS T00gdGVtcG9yYWxfbWx0cm5nMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CiAKIERST1AgVEFCTEUg dGVtcG9yYWxfbWx0cm5nMzsKIAorLS0KKy0tIE9OIENPTkZMSUNUOiBQRVJJT0RzCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0w MS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAn MjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBu byBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBD T05GTElDVCBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBETyBOT1RI SU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbDsKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAw LTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScs ICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBE TyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAn MjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8g Tk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAn MjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8g Tk9USElORzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWw7CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAn MjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEs MiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXJfcGsgRE8gTk9USElORzsKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZs aWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNU IE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIE5PVEhJTkc7CistLSBkYXRlIG1hdGNo ZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0w MScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERPIE5PVEhJTkc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsOworCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEt MDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIw MDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIFVQ REFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CistLSBpZCBtYXRjaGVzIGJ1dCBu byBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBD T05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAn WzMsNCknOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcy MDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBV UERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzQsNSknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKworVFJVTkNBVEUg dGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsK Ky0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEt MDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUg U0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzIsMyknOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29u ZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJ Q1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xV REVELmlkICsgJ1szLDQpJzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RS QUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1s0 LDUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWw7CisKKy0tIHdpdGggYSBVTklRVUUgY29uc3RyYWludDoKKworQ1JFQVRFIFRB QkxFIHRlbXBvcmFsX3BlcjMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZh bGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGlj dAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1Qg RE8gTk9USElORzsKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScs ICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCBETyBOT1RISU5HOworLS0g ZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScs ICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgRE8gTk9USElORzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworCitUUlVOQ0FU RSB0ZW1wb3JhbF9wZXIzOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAx Jyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAw Ni0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CistLSBpZCBt YXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIw LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElORzsKKy0tIGRhdGUg bWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAw Ni0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsK KworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAn MjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAx LTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Bl cjNfdXEgRE8gTk9USElORzsKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJB SU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gTk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8g Y29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENP TkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBOT1RISU5HOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7 CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywg JzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0w MS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gVVBEQVRF IFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1syLDMpJzsKKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNv bmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05G TElDVCAoaWQsIHZhbGlkX2F0KSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzMs NCknOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAw NS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gVVBE QVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1s0LDUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworCitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXIzOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7 CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0w MS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBVUERB VEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzIsMyknOworLS0gaWQgbWF0Y2hlcyBidXQgbm8g Y29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENP TkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBVUERBVEUgU0VUIGlkID0g RVhDTFVERUQuaWQgKyAnWzMsNCknOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04g Q09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5p ZCArICdbNCw1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbDsKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIzOworCiAtLQog LS0gdGVzdCBGSyBkZXBlbmRlbmNpZXMKIC0tCkBAIC05ODYsNiArMTQ0MiwyOSBAQCBBTFRFUiBU QUJMRSB0ZW1wb3JhbDMgRFJPUCBDT0xVTU4gdmFsaWRfYXQgQ0FTQ0FERTsKIERST1AgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnJuZzsKIERST1AgVEFCTEUgdGVtcG9yYWwzOwogCistLSBjYW4ndCBk cm9wIGEgUEVSSU9EIHJlZmVyZW5jZWQgYnkgYW4gRkssIHVubGVzcyB3aXRoIENBU0NBREUKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0 ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbDMgKGlkLCBQRVJJT0QgdmFsaWRf YXQpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdDsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQgQ0FTQ0FERTsK K0RST1AgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0RST1AgVEFCTEUgdGVtcG9yYWwzOwor CiAtLQogLS0gdGVzdCBGT1JFSUdOIEtFWSwgcmFuZ2UgcmVmZXJlbmNlcyByYW5nZQogLS0KQEAg LTEwMTYsNiArMTQ5NSw3IEBAIENSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nICgKICAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklP RCB2YWxpZF9hdCkKICk7CitcZCB0ZW1wb3JhbF9ma19ybmcycm5nCiBEUk9QIFRBQkxFIHRlbXBv cmFsX2ZrX3JuZzJybmc7CiAKIC0tIHdpdGggbWlzbWF0Y2hlZCBQRVJJT0QgY29sdW1uczoKQEAg LTI1NjcsNDcgKzMwNDcsMjU1NSBAQCBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQQogREVMRVRFIEZS T00gdGVtcG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAn MjAxOS0wMS0wMSc6OmRhdGU7CiBTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwogCi0tLSBG SyB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKKy0tCistLSB0ZXN0IEZPUkVJR04gS0VZLCBQRVJJ T0QgcmVmZXJlbmNlcyBQRVJJT0QKKy0tCiAKLUNSRUFURSBUWVBFIG15ZGF0ZXJhbmdlIEFTIHJh bmdlKHN1YnR5cGU9ZGF0ZSk7CistLSB0ZXN0IHRhYmxlIHNldHVwCitEUk9QIFRBQkxFIHRlbXBv cmFsX3BlcjsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFs aWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CiAKLUNSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmczICgK Ky0tIENhbid0IGNyZWF0ZSBhIEZLIHdpdGggYSBtaXNtYXRjaGVkIHJhbmdlIHR5cGUKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9h dCBteWRhdGVyYW5nZSwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ybmczX3BrIFBSSU1BUlkgS0VZ IChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyAgdmFsaWRfZnJvbSBpbnQsCisgIHZh bGlkX3RpbCBpbnQsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9E IHZhbGlkX2F0KQogKTsKLUNSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoCisKKy0t IHdvcmtzOiBQRVJJT0QgZm9yIGJvdGggcmVmZXJlbmNlZCBhbmQgcmVmZXJlbmNpbmcKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9h dCBteWRhdGVyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKICAg cGFyZW50X2lkIGludDRyYW5nZSwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAotICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrM19ybmcycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklP RCB2YWxpZF9hdCkKLSAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzMgKGlkLCBQRVJJT0QgdmFs aWRfYXQpIE9OIERFTEVURSBDQVNDQURFCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zy b20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KQog KTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzMgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCBteWRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwotSU5TRVJUIElO VE8gdGVtcG9yYWxfZmszX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkp Jyk7Ci1ERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmczIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7Ci1TRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19ybmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKK1xkIHRl bXBvcmFsX2ZrX3BlcjJwZXIKIAotRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNfcm5nMnJuZzsKLURS T1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKLURST1AgVFlQRSBteWRhdGVyYW5nZTsKK0RST1AgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnBlcjsKIAotLS0KLS0tIEZLIGJldHdlZW4gcGFydGl0aW9uZWQg dGFibGVzOiByYW5nZXMKLS0tCistLSB3aXRoIG1pc21hdGNoZWQgUEVSSU9EIGNvbHVtbnM6CiAK LUNSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKAorLS0gKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCistLSBSRUZFUkVOQ0VT IHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVy MnBlciAoCiAgIGlkIGludDRyYW5nZSwKLSAgdmFsaWRfYXQgZGF0ZXJhbmdlLAotICBuYW1lIHRl eHQsCi0gIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJTUFSWSBLRVkg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQotKSBQQVJUSVRJT04gQlkgTElTVCAoaWQp OwotQ1JFQVRFIFRBQkxFIHRwMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwx MCknLCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjAp JywgJ1syMSwyMiknLCAnWzIzLDI0KScpOwotQ1JFQVRFIFRBQkxFIHRwMiBQQVJUSVRJT04gT0Yg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScs ICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1 KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAnWzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSkn KTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0LCBu YW1lKSBWQUxVRVMKLSAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAy LTAxJyksICdvbmUnKSwKLSAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMi0wMScsICcyMDAw LTAzLTAxJyksICdvbmUnKSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwK KyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJv bSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1B UlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9hdCkKKyk7CistLSAo cGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gYm90aCBz aG91bGQgc3BlY2lmeSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAo CisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwK KyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJv bSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1B UlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0KQorKTsKKy0tIChwYXJlbnRf aWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorLS0gRk9SRUlH TiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0 KQorKTsKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KKy0t IEZPUkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAor ICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKKy0tIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQpCitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAor ICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkKQor KTsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf ZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdO IEtFWSAocGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9E IHZhbGlkX2F0KQorKTsKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFi bGU6CistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0 XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFu Z2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyCispOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyOworLS0gKHBh cmVudF9pZCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkKQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOworCistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9m IGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgcGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIGlk KQorKTsKKworLS0gVHdvIHNjYWxhciBjb2x1bW5zCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjI7 CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMiAoCisgIGlkMSBpbnQ0cmFuZ2UsCisgIGlkMiBp bnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklP RCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfcGVyMl9wayBQUklNQVJZIEtFWSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpCispOworCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIgKAorICBpZCBp bnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVu dF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m azJfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2Zr Ml9wZXIycGVyCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyOworCistLQorLS0gdGVz dCBBTFRFUiBUQUJMRSBBREQgQ09OU1RSQUlOVAorLS0KKworQ1JFQVRFIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFs aWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQpOworLS0g VHdvIHNjYWxhciBjb2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyICgK KyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAor ICBwYXJlbnRfaWQxIGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFuZ2UsCisgIFBFUklP RCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQx LCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy MiAoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCk7CitcZCB0ZW1wb3JhbF9mazJfcGVyMnBlcgor CistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlLCBhbmQgd3Jvbmcg Y29sdW1uIHR5cGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrLAorICBEUk9QIFBFUklPRCBGT1IgdmFsaWRf YXQsCisgIEFMVEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgdGltZXN0YW1wLAorICBBTFRFUiBD T0xVTU4gdmFsaWRfdGlsIFRZUEUgdGltZXN0YW1wLAorICBBREQgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJw ZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIFBFUklPRCBGT1IgdmFs aWRfYXQsCisgIEFMVEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgZGF0ZSwKKyAgQUxURVIgQ09M VU1OIHZhbGlkX3RpbCBUWVBFIGRhdGUsCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpOworCistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVu Y2VkIHRhYmxlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CisKKy0tIHNob3VsZCBm YWlsIGJlY2F1c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBl cl9mazIKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgaWQpOworCistLQorLS0gdGVzdCB3aXRo IHJvd3MgYWxyZWFkeQorLS0KKworREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcy MDE4LTAyLTAzJyksCisgICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0JyksCisg ICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1JyksCisgICgnWzMsNCknLCAnMjAx OC0wMS0wMScsIE5VTEwpOworCitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDEnLCAnWzEsMiknKTsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBl cgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7 CistLSBzaG91bGQgZmFpbDoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworLS0gb2th eSBhZ2FpbjoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJf ZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlcjsKKworLS0KKy0tIHRlc3QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYKKy0t CisKK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBX SEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX2ZrX3BlcjJwZXJfZmsnOworCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0w MScsICdbMSwyKScpOworLS0gbm93IGl0IHNob3VsZCB3b3JrOgorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4 LTAyLTAzJywgJzIwMTgtMDMtMDMnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAn MjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CisKKy0tCistLSB0ZXN0IEZLIHJl ZmVyZW5jaW5nIHVwZGF0ZXMKKy0tCisKKy0tIHNsaWRlIHRoZSBlZGdlIGFjcm9zcyBhIHJlZmVy ZW5jZWQgdHJhbnNpdGlvbjoKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIycGVyIFNFVCB2YWxpZF9m cm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAxOC0wMi0yMCcgV0hFUkUgaWQgPSAn WzEsMiknOworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgdGVtcG9yYWxfZmtfcGVyMnBlciBTRVQg dmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0gJzIwMTgtMDUtMDEnIFdIRVJF IGlkID0gJ1sxLDIpJzsKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIycGVyIFNFVCBwYXJlbnRfaWQg PSAnWzgsOSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gQUxURVIgRksgREVGRVJSQUJMRQor CitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScp LAorICAgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CisgIElOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTCisgICAgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAn WzUsNiknKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICAgIEFMVEVSIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZ IERFRkVSUkVEOworCisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2 KSc7IC0tc2hvdWxkIG5vdCBmYWlsIHlldC4KK0NPTU1JVDsgLS0gc2hvdWxkIGZhaWwgaGVyZS4K KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIE5PIEFDVElPTgorLS0KKworVFJV TkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9m azsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBOTyBBQ1RJT047 CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMgaWQgaXNu J3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxp ZF90aWwgPSAnMjAxNi0wMi0wMScgV0hFUkUgaWQgPSAnWzUsNiknOworLS0gYSBQSyB1cGRhdGUg dGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJl Y2F1c2UgdGhlIHJhbmdlIGlzbid0OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlk ID0gJ1s1LDYpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyks CisgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUworICAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcsICdbNSw2KScp OworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAyLTAxJywgdmFs aWRfdGlsID0gJzIwMTYtMDMtMDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20g PSAnMjAxOC0wMi0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJzsKKy0tIEEgUEsgdXBk YXRlIHNsaWRpbmcgdGhlIGVkZ2UgYmV0d2VlbiB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAg KCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNiw3KScsICcyMDE4 LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzQsNSkn LCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTE1JywgJ1s2LDcpJyk7CitVUERBVEUgdGVtcG9yYWxf cGVyCitTRVQgdmFsaWRfZnJvbSA9IENBU0UgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEn IFRIRU4gJzIwMTgtMDEtMDEnCisgICAgICAgICAgICAgICAgICAgICAgV0hFTiB2YWxpZF9mcm9t ID0gJzIwMTgtMDItMDEnIFRIRU4gJzIwMTgtMDEtMDUnIEVORDo6ZGF0ZSwKKyAgICB2YWxpZF90 aWwgPSAgQ0FTRSBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgVEhFTiAnMjAxOC0wMS0w NScKKyAgICAgICAgICAgICAgICAgICAgICBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScg VEhFTiAnMjAxOC0wMy0wMScgRU5EOjpkYXRlCitXSEVSRSBpZCA9ICdbNiw3KSc7CistLSBhIFBL IHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgYnV0IHN0aWxsIHZhbGlkOgor LS0gVGhlcmUgYXJlIHR3byByZWZlcmVuY2VzOiBvbmUgZnVsZmlsbGVkIGJ5IHRoZSBmaXJzdCBw ayByb3csCistLSB0aGUgb3RoZXIgZnVsZmlsbGVkIGJ5IGJvdGggcGsgcm93cyBjb21iaW5lZC4K K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAzLTAxJyksCisgICgnWzEsMikn LCAnMjAxOC0wMy0wMScsICcyMDE4LTA2LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19w ZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAo J1sxLDIpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0wMScsICdbMSwyKScpLAorICAoJ1syLDMp JywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wNS0wMScsICdbMSwyKScpOworVVBEQVRFIHRlbXBvcmFs X3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDMt MDEnCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0 ZTsKKy0tIGEgUEsgdXBkYXRlIGdyb3dpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgaXMgZmluZToK K1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScsIHZhbGlk X3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAn MjAxOC0wMS0yNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5j ZWQgcmFuZ2UgYW5kIGNoYW5naW5nIHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbMiwzKScsIHZhbGlkX2Zyb20gPSAnMjAx OC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBjaGFuZ2lu ZyBvbmx5IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVtcG9y YWxfcGVyIFNFVCBpZCA9ICdbMiwzKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQg QD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgdGhhdCBsb3NlcyB0aW1lIGZy b20gYm90aCBlbmRzLCBidXQgaXMgc3RpbGwgdmFsaWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1syLDMpJywgJzIwMTgt MDEtMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbNSw2KScs ICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEnLCAnWzIsMyknKTsKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTE1 JworV0hFUkUgaWQgPSAnWzIsMyknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNl IGJvdGggYXJlIHJlZmVyZW5jZWQ6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9t ID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKK1dIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgt MDItMDEnOworLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVy ZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnBlcgorICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9m aworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworCisgIFVQREFURSB0ZW1wb3Jh bF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAy LTAxJworICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK0NPTU1JVDsKKy0tIGNoYW5naW5nIHRoZSBzY2FsYXIg cGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJworV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwg PSAnMjAxOC0wMi0wMSc7CistLSBjaGFuZ2luZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5 OgorVVBEQVRFIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdb NSw2KSc7CistLSBjaGFuZ2luZyBqdXN0IGEgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9w ZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAx LTEwJworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCBp biAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gdGhlbiBkZWxldGUgdGhlIG9i amVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIw MTYtMDItMDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0w MScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCB1cGRhdGVzIFJFU1RSSUNUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBv cmFsX2ZrX3BlcjJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIKKyAgT04gVVBEQVRFIFJFU1RSSUNUOworCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIGRlbGV0ZXMgTk8gQUNUSU9OCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBv cmFsX2ZrX3BlcjJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKy0tIGEgUEsg ZGVsZXRlIHRoYXQgc3VjY2VlZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVu Y2VkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0 IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVz ZSB0aGUgcmFuZ2UgaXNuJ3Q6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0w Mi0wMScpLAorICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAnWzUs NiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZh bGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJzsKKy0t IGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgorREVM RVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9 ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworLS0gYSBQSyBkZWxl dGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3QgJ3RpbCBj b21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICAgIEFM VEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICAgIERFRkVSUkFCTEUgSU5J VElBTExZIERFRkVSUkVEOworCisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9 ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDIt MDEnKTsKK0NPTU1JVDsKKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0gZGVs ZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJworV0hF UkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgaW4g KCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBz YW1lIFBLIGRlbGV0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIg V0hFUkUgaWQgPSAnWzMsNCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0g J1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIw MTgtMDItMDEnOworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QK Ky0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBERUxFVEUg UkVTVFJJQ1Q7CisKKy0tCistLSBwZXIycGVyIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25z CistLQorLS0gVE9DOgorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJl ZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZB VUxUCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBk YXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FT Q0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0 d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2Fs YXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xz LCBTRVQgTlVMTCBzdWJzZXQpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3 byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNj YWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFy IGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIENBU0NBREUKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtf cGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn LCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9OIERF TEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAw LDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRF IHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3Jh bF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBA PiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCistLQorCitUUlVOQ0FURSB0ZW1wb3Jh bF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRl czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksg YWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAn MjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0t CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYs NyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAo J1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxM OworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCkn IFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9z cyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn LCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUg aWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg TlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkg VkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScp OworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEn IFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8g ZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAs MjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9 ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIs IHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVF UyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBT RVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVM VDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJF IGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VU IERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBl cjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGgg c2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVt cG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0t IEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAx JywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9 ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUg KHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFs X2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEw MCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBl cl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIENBU0NB REUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFU RSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEn IFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBv cmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3Bl cjIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQor CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg J1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBp ZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRl bXBvcmFsX2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVT ICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3 KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cGVyMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRF IFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVz OgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERB VEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dz OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVt cG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNv bHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVy MiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRl bGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KKwor VFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4n dCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBl cgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIE5V TEw7CistLSBvazoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lk MiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9O IERFTEVURSBTRVQgTlVMTCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRl OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVy ZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNB VEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEs LTFdJywgJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIg KGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcp JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYs NyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIEFMVEVS IENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgQUxURVIgQ09MVU1O IHBhcmVudF9pZDIgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIy cGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VU IERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4 KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24t RlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIg PSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdb OCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg J1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBh cmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn LCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzks MTApJywgaWQyID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBX SEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCist LQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYs NyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk MSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf cGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVy MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAo aWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIy IChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr Ml9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4 LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVM VCAodHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorCitUUlVOQ0FURSB0 ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0n LCAnWzYsNyknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwg aWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJw ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAn WzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVt bjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9m aworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZB VUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gb2s6CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVG QVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9m aywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdO IEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAocGFyZW50X2lk MSkgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf cGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVy MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAo aWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIy IChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAn WzgsOSknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMg KCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisK Ky0tCistLSB0ZXN0IEZPUkVJR04gS0VZLCByYW5nZSByZWZlcmVuY2VzIFBFUklPRAorLS0KKwor LS0gdGVzdCB0YWJsZSBzZXR1cAorRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIgQ0FTQ0FERTsKK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20g ZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfcGVyX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyk7CisKKy0tIENhbid0IGNyZWF0ZSBhIEZLIHdpdGggYSBtaXNtYXRjaGVkIHJh bmdlIHR5cGUKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9hdCBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKKworLS0gd29ya3M6IFBFUklP RCBmb3IgcmVmZXJlbmNlZCwgcmFuZ2UgZm9yIHJlZmVyZW5jaW5nCitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyk7CitcZCB0ZW1wb3JhbF9ma19ybmcycGVyCitEUk9QIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJwZXI7CisKKy0tIHdpdGggbWlzbWF0Y2hlZCBQRVJJT0QgY29sdW1uczoKKworLS0g KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCist LSBSRUZFUkVOQ0VTIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0 KQorKTsKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQp CistLSBib3RoIHNob3VsZCBzcGVjaWZ5IFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m a19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBh cmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9hdCkKKyk7CistLSAocGFy ZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKy0tIEZP UkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KQor KTsKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KKy0tIEZP UkVJR04gS0VZIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOworLS0gKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19y bmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVu dF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCkKKyk7CistLSAocGFyZW50X2lk KSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAg cGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkKQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKKy0tIHdpdGgg aW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGU6CistLSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAg cGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CitEUk9QIFRBQkxFIHRl bXBvcmFsX2ZrX3JuZzJwZXI7CistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0K K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKKworLS0gc2hv dWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0 IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFy ZW50X2lkLCBQRVJJT0QgcGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChp ZCwgUEVSSU9EIGlkKQorKTsKKworLS0gVHdvIHNjYWxhciBjb2x1bW5zCitEUk9QIFRBQkxFIHRl bXBvcmFsX3BlcjIgQ0FTQ0FERTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIyICgKKyAgaWQx IGludDRyYW5nZSwKKyAgaWQyIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxp ZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGls KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m azJfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBw YXJlbnRfaWQxIGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9mayBGT1JF SUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIFBFUklPRCB2YWxpZF9hdCkKKyk7Citc ZCB0ZW1wb3JhbF9mazJfcm5nMnBlcgorRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcjsK KworLS0KKy0tIHRlc3QgQUxURVIgVEFCTEUgQUREIENPTlNUUkFJTlQKKy0tCisKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBk YXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf Zmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQp OworLS0gVHdvIHNjYWxhciBjb2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcy cGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9p ZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEs IHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIy IChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KTsKK1xkIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisK Ky0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUsIGFuZCB3cm9uZyBj b2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmssCisgIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBU WVBFIHRzcmFuZ2UgVVNJTkcgdHNyYW5nZShsb3dlcih2YWxpZF9hdCksIHVwcGVyKHZhbGlkX2F0 KSk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZh bGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2F0IFRZUEUgZGF0ZXJhbmdlIFVTSU5H IGRhdGVyYW5nZShsb3dlcih2YWxpZF9hdCk6OmRhdGUsIHVwcGVyKHZhbGlkX2F0KTo6ZGF0ZSk7 CisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGU6CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKworLS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBs aWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBl cgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrMgorICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50X2lkKQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Bl ciAoaWQsIFBFUklPRCBpZCk7CisKKy0tCistLSB0ZXN0IHdpdGggcm93cyBhbHJlYWR5CistLQor CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyOworREVMRVRFIEZST00gdGVtcG9yYWxf cGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMnKSwKKyAgKCdb MSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnKSwKKyAgKCdbMiwzKScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDEtMDUnKSwKKyAgKCdbMyw0KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CisK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3JuZzJwZXJfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0w Mi0wMSknLCAnWzEsMiknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworQUxURVIg VEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cm5nMnBlcl9mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICdbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKScs ICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcy cGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Bl cjsKKy0tIG9rYXkgYWdhaW46CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxU RVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkK KyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CisKKy0tCistLSB0ZXN0IHBnX2dldF9jb25zdHJh aW50ZGVmCistLQorCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9NIHBnX2Nv bnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ma19ybmcycGVyX2ZrJzsKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNpbmcgaW5zZXJ0cworLS0KKworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywg J1syMDE4LTAxLTAyLDIwMTgtMDItMDEpJywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBW QUxVRVMgKCdbMiwzKScsICdbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKScsICdbMSwyKScpOworLS0g bm93IGl0IHNob3VsZCB3b3JrOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAyLTAzJywgJzIwMTgtMDMt MDMnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICdbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKScsICdbMSwy KScpOworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2luZyB1cGRhdGVzCistLQorCistLSBzbGlk ZSB0aGUgZWRnZSBhY3Jvc3MgYSByZWZlcmVuY2VkIHRyYW5zaXRpb246CitVUERBVEUgdGVtcG9y YWxfZmtfcm5nMnBlciBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDIsMjAxOC0wMi0yMCknIFdI RVJFIGlkID0gJ1sxLDIpJzsKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAyLDIwMTgtMDUtMDEpJyBXSEVSRSBpZCA9 ICdbMSwyKSc7CitVUERBVEUgdGVtcG9yYWxfZmtfcm5nMnBlciBTRVQgcGFyZW50X2lkID0gJ1s4 LDkpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CisKKy0tIEFMVEVSIEZLIERFRkVSUkFCTEUKKworQkVH SU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTCisgICAgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAg ICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworICBJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCisgICAg KCdbMyw0KScsICdbMjAxOC0wMS0wNSwyMDE4LTAxLTEwKScsICdbNSw2KScpOworICBBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycGVyX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVM RVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsgLS1zaG91bGQgbm90IGZh aWwgeWV0LgorQ09NTUlUOyAtLSBzaG91bGQgZmFpbCBoZXJlLgorCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIHVwZGF0ZXMgTk8gQUNUSU9OCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIs IHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2Zr CisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9wZXIKKyAgT04gVVBEQVRFIE5PIEFDVElPTjsKKy0tIGEgUEsgdXBkYXRlIHRo YXQgc3VjY2VlZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsKK1VQREFURSB0ZW1wb3JhbF9w ZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAx JyBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4g dGhvdWdoIHRoZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNu J3Q6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAg KCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4 LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0w NSwyMDE4LTAxLTEwKScsICdbNSw2KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRf ZnJvbSA9ICcyMDE2LTAyLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDMtMDEnCitXSEVSRSBpZCA9 ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgQU5EIHZhbGlkX3RpbCA9ICcy MDE4LTAzLTAxJzsKKy0tIEEgUEsgdXBkYXRlIHNsaWRpbmcgdGhlIGVkZ2UgYmV0d2VlbiB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDIt MDEnKSwKKyAgKCdbNiw3KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMK KyAgKCdbNCw1KScsICdbMjAxOC0wMS0xNSwyMDE4LTAyLTE1KScsICdbNiw3KScpOworVVBEQVRF IHRlbXBvcmFsX3BlcgorU0VUIHZhbGlkX2Zyb20gPSBDQVNFIFdIRU4gdmFsaWRfZnJvbSA9ICcy MDE4LTAxLTAxJyBUSEVOICcyMDE4LTAxLTAxJworICAgICAgICAgICAgICAgICAgICAgIFdIRU4g dmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBUSEVOICcyMDE4LTAxLTA1JyBFTkQ6OmRhdGUsCisg ICAgdmFsaWRfdGlsID0gIENBU0UgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIFRIRU4g JzIwMTgtMDEtMDUnCisgICAgICAgICAgICAgICAgICAgICAgV0hFTiB2YWxpZF9mcm9tID0gJzIw MTgtMDItMDEnIFRIRU4gJzIwMTgtMDMtMDEnIEVORDo6ZGF0ZQorV0hFUkUgaWQgPSAnWzYsNykn OworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGJ1dCBzdGls bCB2YWxpZDoKKy0tIFRoZXJlIGFyZSB0d28gcmVmZXJlbmNlczogb25lIGZ1bGZpbGxlZCBieSB0 aGUgZmlyc3QgcGsgcm93LAorLS0gdGhlIG90aGVyIGZ1bGZpbGxlZCBieSBib3RoIHBrIHJvd3Mg Y29tYmluZWQuCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMy0wMScpLAor ICAoJ1sxLDIpJywgJzIwMTgtMDMtMDEnLCAnMjAxOC0wNi0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1sx LDIpJywgJ1syMDE4LTAxLTE1LDIwMTgtMDItMDEpJywgJ1sxLDIpJyksCisgICgnWzIsMyknLCAn WzIwMTgtMDEtMTUsMjAxOC0wNS0wMSknLCAnWzEsMiknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIg U0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJwor V0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7Cist LSBhIFBLIHVwZGF0ZSBncm93aW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGlzIGZpbmU6CitVUERB VEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnLCB2YWxpZF90aWwg PSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgt MDEtMjUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJh bmdlIGFuZCBjaGFuZ2luZyB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBE QVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzIsMyknLCB2YWxpZF9mcm9tID0gJzIwMTgtMDEt MTUnLCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgY2hhbmdpbmcgb25s eSB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBvcmFsX3Bl ciBTRVQgaWQgPSAnWzIsMyknCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcy MDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgbG9zZXMgdGltZSBmcm9tIGJv dGggZW5kcywgYnV0IGlzIHN0aWxsIHZhbGlkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbMiwzKScsICcyMDE4LTAxLTAx JywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbNSw2KScsICdbMjAxOC0wMS0xNSwyMDE4 LTAyLTAxKScsICdbMiwzKScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9 ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDItMTUnCitXSEVSRSBpZCA9ICdbMiwz KSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNl ZDoKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZh bGlkX3RpbCA9ICcyMDE2LTAyLTAxJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9t ID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CistLSBhIFBLIHVw ZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwgYnV0IG5vdCAndGls IGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgICAg QUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAgREVGRVJSQUJMRSBJ TklUSUFMTFkgREVGRVJSRUQ7CisKKyAgVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJv bSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnCisgIFdIRVJFIGlkID0g J1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0w MScpOworQ09NTUlUOworLS0gY2hhbmdpbmcgdGhlIHNjYWxhciBwYXJ0IGZhaWxzOgorVVBEQVRF IHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZh bGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKy0t IGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUgdGVtcG9yYWxf cGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0w MS0wMycKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGNoYW5naW5n IGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitTRVQgaWQgPSAnWzcs OCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBXSEVS RSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBh bmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtf cm5nMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxp ZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKK1dIRVJFIGlk ID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgUkVTVFJJQ1QKKy0tCisKK1RSVU5DQVRF IHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZms7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBVUERBVEUgUkVTVFJJQ1Q7CisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KKy0tCisKK1RSVU5DQVRF IHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1l cmljIGlkIGlzbid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAx OC0wMi0wMScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsK Ky0tIGEgUEsgZGVsZXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQg aXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzUsNiknLCAn MjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyksCisgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcy MDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzMsNCknLCAnWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCkn LCAnWzUsNiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KScg QU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAx JzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2Vk OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRf ZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworLS0gYSBQ SyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3Qg J3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgor ICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIERFRkVSUkFC TEUgSU5JVElBTExZIERFRkVSUkVEOworCisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVS RSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MTgtMDItMDEnKTsKK0NPTU1JVDsKKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlz IG9rYXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUsNiknOwor LS0gZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIK K0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEw JworV0hFUkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUg aWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5k IHRoZSBzYW1lIFBLIGRlbGV0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzMsNCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJF IGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGls ID0gJzIwMTgtMDItMDEnOworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVT VFJJQ1QKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3JuZzJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBE RUxFVEUgUkVTVFJJQ1Q7CisKKy0tCistLSBybmcycGVyIHRlc3QgT04gVVBEQVRFL0RFTEVURSBv cHRpb25zCistLQorLS0gVE9DOgorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJl ZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwK Ky0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNF VCBERUZBVUxUCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5j ZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0 ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3 byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxh ciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAo dHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28g c2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKworLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCB1cGRhdGVzIENBU0NBREUKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9y YWxfZmtfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcp Jyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgQ0FT Q0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3Jh bF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSkn LCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEn LCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIx LTAxLTAxKScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTAp JyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxl dGVzIENBU0NBREUKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5n MnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBp ZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAs MTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBl cl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlcgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdb Nyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9u LUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK1VQREFURSB0 ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVM RVRFIEZST00gdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBX SEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVF UyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworREVM RVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdI RVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsIG51bGwsIG51bGwp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknKTsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVG QVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2Zr LAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0t IGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0g J1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBu b24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworVVBEQVRF IHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLQorCitUUlVO Q0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCBu dWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkg VkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScg V0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1 cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcy MDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJw ZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgt MDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBX SEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVz IENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIs IHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBp ZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBl ciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEw MF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m azJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsK KyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBDQVNDQURFIE9O IFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVt cG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAn MjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9w ZXIyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywg J1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEw KScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFs X3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAo aWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNykn LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsK Ky0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScg V0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBP IGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3Jh bF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIg KGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcp JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcy cGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VU IE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitV UERBVEUgdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0 ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEt MDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQx ID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FU RSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywg J1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIw MjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor LS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEn LCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1sy MDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQg PSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJl ZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJz ZXQpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEt MDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBz ZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgor ICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEs IHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Bl cjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIE5VTEw7 CistLSBvazoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERF TEVURSBTRVQgTlVMTCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92 ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgor REVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAx KScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBp ZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIs IHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBp ZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywg bnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQg J1stMSwtMV0nLAorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0x XScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQg aWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3Bl cjIgU0VUIGlkMSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNF VCBpZDEgPSAnWzksMTApJywgaWQyID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2Nh bGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5n MnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQx LCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0w MSknLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVM RVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlk MSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg JzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAo aWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRf YXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNv bHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRl bXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbNiw3KScsIG51bGws IG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEt MDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91 IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9y bmcycGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQx LCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9w ZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBE RUZBVUxUOworLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBBTFRF UiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERF TEVURSBTRVQgREVGQVVMVCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0g bGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBk YXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVu dF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdb OCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGT1JFSUdOIEtFWSwgUEVSSU9EIHJlZmVyZW5jZXMg cmFuZ2UKKy0tCisKKy0tIHRlc3QgdGFibGUgc2V0dXAKK0RST1AgVEFCTEUgdGVtcG9yYWxfcm5n IENBU0NBREU7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcm5nICgKKyAgaWQgaW50NHJhbmdlLAor ICB2YWxpZF9hdCBkYXRlcmFuZ2UKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ybmcKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfcm5nX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyk7CisKKy0tIENhbid0IGNyZWF0ZSBhIEZLIHdpdGggYSBtaXNtYXRj aGVkIHJhbmdlIHR5cGUKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQg aW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGludCwKKyAgdmFsaWRfdGlsIGludCwKKyAgcGFyZW50 X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRf dGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworCistLSB3 b3JrczogcmFuZ2UgZm9yIHJlZmVyZW5jZWQsIFBFUklPRCBmb3IgcmVmZXJlbmNpbmcKK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9m cm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQ RVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitcZCB0ZW1wb3JhbF9ma19wZXIycm5nCitE Uk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmc7CisKKy0tIHdpdGggbWlzbWF0Y2hlZCBQRVJJ T0QgY29sdW1uczoKKworLS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VT IChpZCwgdmFsaWRfYXQpCistLSBSRUZFUkVOQ0VTIHBhcnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9E CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5n ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkKKyk7CistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkg UkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gYm90aCBzaG91bGQgc3BlY2lmeSBQRVJJT0Q6 CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5n ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KQorKTsKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVO Q0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3Bl Y2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRf aWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90 aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKKy0tIChwYXJlbnRfaWQs IHZhbGlkX2F0KSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KKy0tIEZPUkVJR04gS0VZIHBhcnQgc2hv dWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg cGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwg dmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkg S0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworKTsKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkgUkVGRVJFTkNFUyAoaWQpCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg cGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwg dmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkg S0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkKQorKTsKKy0tIChwYXJlbnRfaWQpIFJF RkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5n X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkKQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKKy0tIHdp dGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGU6CistLSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAg dmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFs aWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCispOworRFJP UCBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nOworLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyBb aW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRy YW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lk IGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGls KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cm5nCispOworCistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9mIGR1cGxpY2F0ZSByZWZlcmVuY2Vk IGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRy YW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lk IGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGls KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50X2lkKQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIGlkKQorKTsKKworLS0gVHdvIHNjYWxh ciBjb2x1bW5zCitEUk9QIFRBQkxFIHRlbXBvcmFsX3JuZzIgQ0FTQ0FERTsKK0NSRUFURSBUQUJM RSB0ZW1wb3JhbF9ybmcyICgKKyAgaWQxIGludDRyYW5nZSwKKyAgaWQyIGludDRyYW5nZSwKKyAg dmFsaWRfYXQgZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzJfcGsgUFJJTUFS WSBLRVkgKGlkMSwgaWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKKworQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9m cm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQxIGludDRyYW5nZSwKKyAg cGFyZW50X2lkMiBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIs IFBFUklPRCB2YWxpZF9hdCkKKyk7CitcZCB0ZW1wb3JhbF9mazJfcGVyMnJuZworRFJPUCBUQUJM RSB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKKworLS0KKy0tIHRlc3QgQUxURVIgVEFCTEUgQUREIENP TlNUUkFJTlQKKy0tCisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQg aW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJl bnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxp ZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KTsKKy0tIFR3byBzY2FsYXIgY29sdW1uczoK K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkMSBpbnQ0cmFu Z2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9E IHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCBQRVJJT0Qg dmFsaWRfYXQpOworXGQgdGVtcG9yYWxfZmsyX3BlcjJybmcKKworLS0gd2l0aCBpbmZlcnJlZCBQ SyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSwgYW5kIHdyb25nIGNvbHVtbiB0eXBlOgorQUxURVIg VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnJuZ19maywKKyAgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0LAorICBBTFRFUiBDT0xVTU4g dmFsaWRfZnJvbSBUWVBFIHRpbWVzdGFtcCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX3RpbCBUWVBF IHRpbWVzdGFtcCwKKyAgQUREIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlk X3RpbCk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0LAorICBBTFRFUiBDT0xV TU4gdmFsaWRfZnJvbSBUWVBFIGRhdGUsCisgIEFMVEVSIENPTFVNTiB2YWxpZF90aWwgVFlQRSBk YXRlLAorICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsK KworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcm5nOworCistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9mIGR1cGxp Y2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5n CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsyCisgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n IChpZCwgUEVSSU9EIGlkKTsKKworLS0KKy0tIHRlc3Qgd2l0aCByb3dzIGFscmVhZHkKKy0tCisK K0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9y bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgn WzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknKSwKKyAgKCdbMSwyKScsICdbMjAxOC0w My0wMywyMDE4LTA0LTA0KScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDEtMDUp JyksCisgICgnWzMsNCknLCAnWzIwMTgtMDEtMDEsKScpOworCitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDEn LCAnWzEsMiknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4 LTA0LTAxJywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcm5nOworLS0gb2theSBhZ2FpbjoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJy bmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZh bGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKKworLS0KKy0tIHRlc3QgcGdfZ2V0 X2NvbnN0cmFpbnRkZWYKKy0tCisKK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZS T00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX2ZrX3BlcjJybmdfZmsn OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorCitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMScsICdbMSwyKScp OworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgt MDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOworLS0gbm93IGl0IHNob3VsZCB3b3JrOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxLDIpJywg J1syMDE4LTAyLTAzLDIwMTgtMDMtMDMpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMp JywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOworCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2luZyB1cGRhdGVzCistLQorCistLSBzbGlkZSB0aGUgZWRnZSBhY3Jvc3MgYSBy ZWZlcmVuY2VkIHRyYW5zaXRpb246CitVUERBVEUgdGVtcG9yYWxfZmtfcGVyMnJuZyBTRVQgdmFs aWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0gJzIwMTgtMDItMjAnIFdIRVJFIGlk ID0gJ1sxLDIpJzsKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJybmcg U0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTAxJyBX SEVSRSBpZCA9ICdbMSwyKSc7CitVUERBVEUgdGVtcG9yYWxfZmtfcGVyMnJuZyBTRVQgcGFyZW50 X2lkID0gJ1s4LDkpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CisKKy0tIEFMVEVSIEZLIERFRkVSUkFC TEUKKworQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMKKyAgICAoJ1s1LDYpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJyksCisgICAgKCdb NSw2KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworICBJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVF UworICAgICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJywgJ1s1LDYpJyk7Cisg IEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsK KworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknOyAtLXNob3Vs ZCBub3QgZmFpbCB5ZXQuCitDT01NSVQ7IC0tIHNob3VsZCBmYWlsIGhlcmUuCisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBOTyBBQ1RJT04KKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICBPTiBVUERBVEUgTk8gQUNUSU9OOworLS0gYSBQSyB1 cGRhdGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlzbid0IHJlZmVyZW5j ZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzUs NiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VU IHZhbGlkX2F0ID0gJ1syMDE2LTAxLTAxLDIwMTYtMDItMDEpJyBXSEVSRSBpZCA9ICdbNSw2KSc7 CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBudW1lcmljIGlk IGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1s1LDYpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEp JyksCisgICgnWzUsNiknLCAnWzIwMTgtMDItMDEsMjAxOC0wMy0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZCkgVkFMVUVTCisgICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJywgJ1s1LDYp Jyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxNi0wMi0wMSwyMDE2 LTAzLTAxKScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDItMDEs MjAxOC0wMy0wMSknOworLS0gQSBQSyB1cGRhdGUgc2xpZGluZyB0aGUgZWRnZSBiZXR3ZWVuIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTCisgICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKSwKKyAgKCdb Niw3KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMK KyAgKCdbNCw1KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnLCAnWzYsNyknKTsKK1VQREFU RSB0ZW1wb3JhbF9ybmcKK1NFVCB2YWxpZF9hdCA9IENBU0UgV0hFTiBsb3dlcih2YWxpZF9hdCkg PSAnMjAxOC0wMS0wMScgVEhFTiBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScp CisgICAgICAgICAgICAgICAgICAgIFdIRU4gbG93ZXIodmFsaWRfYXQpID0gJzIwMTgtMDItMDEn IFRIRU4gZGF0ZXJhbmdlKCcyMDE4LTAxLTA1JywgJzIwMTgtMDMtMDEnKSBFTkQKK1dIRVJFIGlk ID0gJ1s2LDcpJzsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5n ZSBidXQgc3RpbGwgdmFsaWQ6CistLSBUaGVyZSBhcmUgdHdvIHJlZmVyZW5jZXM6IG9uZSBmdWxm aWxsZWQgYnkgdGhlIGZpcnN0IHBrIHJvdywKKy0tIHRoZSBvdGhlciBmdWxmaWxsZWQgYnkgYm90 aCBwayByb3dzIGNvbWJpbmVkLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDMtMDEpJyksCisgICgn WzEsMiknLCAnWzIwMTgtMDMtMDEsMjAxOC0wNi0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT CisgICgnWzEsMiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAxJywgJ1sxLDIpJyksCisgICgn WzIsMyknLCAnMjAxOC0wMS0xNScsICcyMDE4LTA1LTAxJywgJ1sxLDIpJyk7CitVUERBVEUgdGVt cG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0xNSwyMDE4LTAzLTAxKScKK1dIRVJF IGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gYSBQ SyB1cGRhdGUgZ3Jvd2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBpcyBmaW5lOgorVVBEQVRFIHRl bXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSknCitXSEVS RSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTI1Jzo6ZGF0ZTsKKy0tIGEg UEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBhbmQgY2hhbmdpbmcgdGhl IGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VU IGlkID0gJ1syLDMpJywgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMTUsMjAxOC0wMy0wMSknCitXSEVS RSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEg UEsgdXBkYXRlIGNoYW5naW5nIG9ubHkgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5n ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1syLDMpJworV0hFUkUgaWQgPSAnWzEs MiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSB0 aGF0IGxvc2VzIHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1dCBpcyBzdGlsbCB2YWxpZDoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbMiwzKScsICdb MjAxOC0wMS0wMSwyMDE4LTAzLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJu ZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbNSw2 KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEnLCAnWzIsMyknKTsKK1VQREFURSB0ZW1wb3Jh bF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1LDIwMTgtMDItMTUpJworV0hFUkUgaWQg PSAnWzIsMyknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJl ZmVyZW5jZWQ6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxNi0wMS0w MSwyMDE2LTAyLTAxKScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgt MDEtMDEsMjAxOC0wMi0wMSknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJv dGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3QgJ3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIg VEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnJuZ19maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworCisgIFVQ REFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE2LTAxLTAxLDIwMTYtMDItMDEp JworICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMTgtMDItMDEnKTsKK0NPTU1JVDsKKy0tIGNoYW5naW5nIHRoZSBzY2FsYXIgcGFy dCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQg PSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7CistLSBj aGFuZ2luZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX3Ju ZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEt MDMnCitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFuZ2luZyBq dXN0IGEgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJworU0VUIGlkID0gJ1s3LDgp JworV0hFUkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUg aWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5k IHRoZSBzYW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3Bl cjJybmcgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRf YXQgPSAnWzIwMTYtMDEtMDEsMjAxNi0wMi0wMSknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZh bGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJzsKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCB1cGRhdGVzIFJFU1RSSUNUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRl bXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmcKKyAgT04gVVBEQVRFIFJFU1RSSUNUOworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgTk8gQUNUSU9OCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRl bXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKKy0tIGEg UEsgZGVsZXRlIHRoYXQgc3VjY2VlZHMgYmVjYXVzZSB0aGUgbnVtZXJpYyBpZCBpc24ndCByZWZl cmVuY2VkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAo J1s1LDYpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBl dmVuIHRob3VnaCB0aGUgbnVtZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdl IGlzbid0OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUwor ICAoJ1s1LDYpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJyksCisgICgnWzUsNiknLCAnWzIw MTgtMDItMDEsMjAxOC0wMy0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzMsNCknLCAn MjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJywgJ1s1LDYpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMi0wMSwyMDE4 LTAzLTAxKSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVm ZXJlbmNlZDoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5E IHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJzsKKy0tIGEgUEsgZGVsZXRlIHRo YXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBidXQgbm90ICd0aWwgY29tbWl0 OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgICBBTFRFUiBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxM WSBERUZFUlJFRDsKKworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUs NiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7 CitDT01NSVQ7CistLSBkZWxldGluZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorREVM RVRFIEZST00gdGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGRlbGV0aW5n IGp1c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1dIRVJFIGlk ID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkIGluICgnWzUs NiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2FtZSBQ SyBkZWxldGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJF IGlkID0gJ1szLDQpJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJzsKKworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFJFU1RSSUNUCistLQorCitUUlVOQ0FURSB0ZW1wb3Jh bF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIy cm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgT04gREVMRVRFIFJFU1RSSUNUOworCistLQorLS0gcGVy MnJuZyB0ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucworLS0KKy0tIFRPQzoKKy0tIHJlZmVy ZW5jZWQgdXBkYXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0g cmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5V TEwKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCBkZWxl dGVzIFNFVCBERUZBVUxUCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxh ciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykK Ky0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0g cmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZl cmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJz ZXQpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcm5nCisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdb Nyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIy cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9u LUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAyMC0wMS0w MSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNF VCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlk ID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0 ZW1wb3JhbF9ma19wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAn WzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9y YWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Bl cjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBu b24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBp ZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAn WzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJy bmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwx MDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3JuZworICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdb Nyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIy cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9u LUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAyMC0wMS0w MSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNF VCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlk ID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywg dGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywg J1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAy MC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19w ZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g bm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUg aWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQg REVGQVVMVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwt MV0nLCAnKCwpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkg VkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50 X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBE RUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5n IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAx JyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAn WzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVy MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Bl cjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRl bXBvcmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVy MnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLQorCitUUlVOQ0FU RSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICcoLCknKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0w MS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m a19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAn MjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYs NyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr Ml9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2 LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBEUk9Q IENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVu dF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAg ICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEg PSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1sy MDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJu ZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdb Niw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0t IG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVz IFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcy LCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAy MS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2Zr CisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9h dCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwg T04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUg dGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3Jh bF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywg J1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1sy MDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJu ZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdb OCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg TlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVt cG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92 ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJy bmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAn WzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBB TkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2Nh bGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIs IHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIx LTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZh aWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVy MnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBG T1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAodmFsaWRf YXQpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsy X3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChw YXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRfaWQxKSBPTiBVUERB VEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlk MSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEp Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5n MiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVw ZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCAnKCwp Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsy X3BlcjJybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0n LAorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFy ZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgor ICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0 b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3 LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlk MSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAn WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIy cm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywg J1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9 ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNB VEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0x XScsICcoLCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9h dCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcy IChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAx LTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScp OworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9w ZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIg Y29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwg dGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzYsNyknLCAnKCwpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywg J1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScs ICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQ RVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgQUxURVIg Q09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBvazoK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIEFMVEVSIENPTFVNTiBwYXJlbnRf aWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19mawor ICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxU IChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg J1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChp ZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAx LDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCAnKCwpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk MSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVS RSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworCistLSBGSyB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKKwor Q1JFQVRFIFRZUEUgbXlkYXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKKworQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IG15ZGF0 ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazNf cm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgbXlkYXRlcmFuZ2UsCisgIHBh cmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJybmdfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmczIChpZCwgUEVSSU9EIHZhbGlk X2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzMgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBteWRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmszX3JuZzJybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmczIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBX SEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19ybmcycm5nIFdI RVJFIGlkID0gJ1s1LDYpJzsKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNfcm5nMnJuZzsKK0RS T1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKK0RST1AgVFlQRSBteWRhdGVyYW5nZTsKKworLS0KKy0t IEZLIGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiByYW5nZXMKKy0tCisKK0NSRUFURSBUQUJM RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0 IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9u ZWRfcm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKykg UEFSVElUSU9OIEJZIExJU1QgKGlkKTsKK0NSRUFURSBUQUJMRSB0cDEgUEFSVElUSU9OIE9GIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAn WzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYp JywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0NSRUFURSBU QUJMRSB0cDIgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVT IElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSknLCAnWzEwLDEx KScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkpJywgJ1syMCwyMSkn LCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ybmcgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCBkYXRlcmFuZ2Uo JzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25lJyksCisgICgnWzEsMiknLCBkYXRlcmFu Z2UoJzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAnb25lJyksCiAgICgnWzIsMyknLCBkYXRl cmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAndHdvJyk7CiAKIENSRUFURSBUQUJM RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nICgKQEAgLTMwMDcsNCArNTk5NSwxOSBA QCBTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzE1LDE2KSc7CiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmc7CiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZzsKIAor LS0KKy0tIEZLIGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiBQRVJJT0RzCistLQorCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBuYW1lIHRleHQsCisgIFBFUklP RCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKQorKSBQQVJUSVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRwMSBQ QVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcGVyIEZPUiBWQUxVRVMgSU4gKCdbMSwy KScsICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMs MTQpJywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0 KScpOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9wZXI7CisKIFJFU0VUIGRhdGVz dHlsZTsKZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0IGIvc3Jj L3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKaW5kZXggZGZlYjBmMWNhMWIuLjc5MmI1M2Vi MzcyIDEwMDY0NAotLS0gYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9z cmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdApAQCAtODg3LDYgKzg4Nyw3IEBAIEZvcm1E YXRhX3BnX29wY2xhc3MKIEZvcm1EYXRhX3BnX29wZXJhdG9yCiBGb3JtRGF0YV9wZ19vcGZhbWls eQogRm9ybURhdGFfcGdfcGFydGl0aW9uZWRfdGFibGUKK0Zvcm1EYXRhX3BnX3BlcmlvZAogRm9y bURhdGFfcGdfcG9saWN5CiBGb3JtRGF0YV9wZ19wcm9jCiBGb3JtRGF0YV9wZ19wdWJsaWNhdGlv bgpAQCAtMjE2Miw2ICsyMTYzLDggQEAgUGVuZGluZ1VubGlua0VudHJ5CiBQZW5kaW5nV3JpdGUK IFBlbmRpbmdXcml0ZWJhY2sKIFBlckxvY2tUYWdFbnRyeQorUGVyaW9kRGVmCitQZXJpb2RJbmZv CiBQZXJsSW50ZXJwcmV0ZXIKIFBlcmxfcHBhZGRyX3QKIFBlcm11dGF0aW9uCi0tIAoyLjM5LjUK Cg== --000000000000c475330641ea99bd Content-Type: text/x-patch; charset="US-ASCII"; name="v57-0007-Add-tg_temporal-to-TriggerData.patch" Content-Disposition: attachment; filename="v57-0007-Add-tg_temporal-to-TriggerData.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mh53jnk56 RnJvbSAxODJhYjlmMTg3NmI0OWU5MjlkYzhjZDk2OWViZTVhMDQ4Mzk1ZjdiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTMgSnVuIDIwMjUgMTU6NDA6MDYgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NyAwNy8xMV0gQWRkIHRnX3RlbXBvcmFsIHRvIFRyaWdnZXJEYXRhCgpUaGlz IG5lZWRzIHRvIGJlIHBhc3NlZCB0byBvdXIgUkkgdHJpZ2dlcnMgdG8gaW1wbGVtZW50IHRlbXBv cmFsCkNBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQgd2hlbiB0aGUgdXNlciBjb21tYW5kIGlz IGFuIFVQREFURS9ERUxFVEUKRk9SIFBPUlRJT04gT0YuIFRoZSB0cmlnZ2VycyB3aWxsIHVzZSB0 aGUgRk9SIFBPUlRJT04gT0YgYm91bmRzIHRvIGF2b2lkCm92ZXItYXBwbHlpbmcgdGhlIGNoYW5n ZSB0byByZWZlcmVuY2luZyByZWNvcmRzLgoKUHJvYmFibHkgaXQgaXMgdXNlZnVsIGZvciB1c2Vy LWRlZmluZWQgdHJpZ2dlcnMgYXMgd2VsbCwgZm9yIGV4YW1wbGUKYXVkaXRpbmcgb3IgdHJpZ2dl ci1iYXNlZCByZXBsaWNhdGlvbi4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2lydGggPHBqQGlsbHVt aW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBkb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sICAgICAg ICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBzcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYyB8ICAxICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyAg IHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRlL2NvbW1hbmRz L3RyaWdnZXIuaCAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCAx MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sIGIv ZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbAppbmRleCBlM2FkOTgwNjUyOC4uMDA0NGE5N2EzZmQg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L3RyaWdnZXIuc2dtbApAQCAtNTYzLDE3ICs1NjMsMTggQEAgQ0FMTEVEX0FTX1RSSUdHRVIoZmNp bmZvKQogPHByb2dyYW1saXN0aW5nPgogdHlwZWRlZiBzdHJ1Y3QgVHJpZ2dlckRhdGEKIHsKLSAg ICBOb2RlVGFnICAgICAgICAgIHR5cGU7Ci0gICAgVHJpZ2dlckV2ZW50ICAgICB0Z19ldmVudDsK LSAgICBSZWxhdGlvbiAgICAgICAgIHRnX3JlbGF0aW9uOwotICAgIEhlYXBUdXBsZSAgICAgICAg dGdfdHJpZ3R1cGxlOwotICAgIEhlYXBUdXBsZSAgICAgICAgdGdfbmV3dHVwbGU7Ci0gICAgVHJp Z2dlciAgICAgICAgICp0Z190cmlnZ2VyOwotICAgIFR1cGxlVGFibGVTbG90ICAqdGdfdHJpZ3Ns b3Q7Ci0gICAgVHVwbGVUYWJsZVNsb3QgICp0Z19uZXdzbG90OwotICAgIFR1cGxlc3RvcmVzdGF0 ZSAqdGdfb2xkdGFibGU7Ci0gICAgVHVwbGVzdG9yZXN0YXRlICp0Z19uZXd0YWJsZTsKLSAgICBj b25zdCBCaXRtYXBzZXQgKnRnX3VwZGF0ZWRjb2xzOworICAgIE5vZGVUYWcgICAgICAgICAgICB0 eXBlOworICAgIFRyaWdnZXJFdmVudCAgICAgICB0Z19ldmVudDsKKyAgICBSZWxhdGlvbiAgICAg ICAgICAgdGdfcmVsYXRpb247CisgICAgSGVhcFR1cGxlICAgICAgICAgIHRnX3RyaWd0dXBsZTsK KyAgICBIZWFwVHVwbGUgICAgICAgICAgdGdfbmV3dHVwbGU7CisgICAgVHJpZ2dlciAgICAgICAg ICAgKnRnX3RyaWdnZXI7CisgICAgVHVwbGVUYWJsZVNsb3QgICAgKnRnX3RyaWdzbG90OworICAg IFR1cGxlVGFibGVTbG90ICAgICp0Z19uZXdzbG90OworICAgIFR1cGxlc3RvcmVzdGF0ZSAgICp0 Z19vbGR0YWJsZTsKKyAgICBUdXBsZXN0b3Jlc3RhdGUgICAqdGdfbmV3dGFibGU7CisgICAgY29u c3QgQml0bWFwc2V0ICAgKnRnX3VwZGF0ZWRjb2xzOworICAgIEZvclBvcnRpb25PZlN0YXRlICp0 Z190ZW1wb3JhbDsKIH0gVHJpZ2dlckRhdGE7CiA8L3Byb2dyYW1saXN0aW5nPgogCkBAIC04NDEs NiArODQyLDM5IEBAIHR5cGVkZWYgc3RydWN0IFRyaWdnZXIKICAgICAgICA8L3BhcmE+CiAgICAg ICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICA8dmFybGlzdGVudHJ5 PgorICAgICAgPHRlcm0+PHN0cnVjdGZpZWxkPnRnX3RlbXBvcmFsPC9zdHJ1Y3RmaWVsZD48L3Rl cm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIFNldCBmb3IgPGxp dGVyYWw+VVBEQVRFPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+REVMRVRFPC9saXRlcmFsPiBxdWVy aWVzCisgICAgICAgIHRoYXQgdXNlIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiwg b3RoZXJ3aXNlIDxzeW1ib2w+TlVMTDwvc3ltYm9sPi4KKyAgICAgICAgQ29udGFpbnMgYSBwb2lu dGVyIHRvIGEgc3RydWN0dXJlIG9mIHR5cGUKKyAgICAgICAgPHN0cnVjdG5hbWU+Rm9yUG9ydGlv bk9mU3RhdGU8L3N0cnVjdG5hbWU+LCBkZWZpbmVkIGluCisgICAgICAgIDxmaWxlbmFtZT5ub2Rl cy9leGVjbm9kZXMuaDwvZmlsZW5hbWU+OgorCis8cHJvZ3JhbWxpc3Rpbmc+Cit0eXBlZGVmIHN0 cnVjdCBGb3JQb3J0aW9uT2ZTdGF0ZQoreworICAgIE5vZGVUYWcgICAgIHR5cGU7CisKKyAgICBj aGFyICAgICAgICpmcF9yYW5nZU5hbWU7ICAgLyogdGhlIGNvbHVtbiBuYW1lZCBpbiBGT1IgUE9S VElPTiBPRiAqLworICAgIE9pZCAgICAgICAgIGZwX3JhbmdlVHlwZTsgICAvKiB0aGUgdHlwZSBv ZiB0aGUgRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbiAqLworICAgIGludCAgICAgICAgIGZwX3Jh bmdlQXR0bm87ICAvKiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNvbHVtbiAqLworICAgIERhdHVt ICAgICAgIGZwX3RhcmdldFJhbmdlOyAvKiB0aGUgcmFuZ2UvbXVsdGlyYW5nZSBmcm9tIEZPUiBQ T1JUSU9OIE9GICovCisgICAgVHlwZUNhY2hlRW50cnkgKmZwX2xlZnRvdmVyc3R5cGNhY2hlOyAg IC8qIHR5cGUgY2FjaGUgZW50cnkgb2YgdGhlIHJhbmdlICovCit9IEZvclBvcnRpb25PZlN0YXRl OworPC9wcm9ncmFtbGlzdGluZz4KKworICAgICAgIHdoZXJlIDxzdHJ1Y3RmaWVsZD5mcF9yYW5n ZU5hbWU8L3N0cnVjdGZpZWxkPiBpcyB0aGUgcmFuZ2UKKyAgICAgICBjb2x1bW4gbmFtZWQgaW4g dGhlIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBjbGF1c2UsCisgICAgICAgPHN0 cnVjdGZpZWxkPmZwX3JhbmdlVHlwZTwvc3RydWN0ZmllbGQ+IGlzIGl0cyByYW5nZSB0eXBlLAor ICAgICAgIDxzdHJ1Y3RmaWVsZD5mcF9yYW5nZUF0dG5vPC9zdHJ1Y3RmaWVsZD4gaXMgaXRzIGF0 dHJpYnV0ZSBudW1iZXIsCisgICAgICAgYW5kIDxzdHJ1Y3RmaWVsZD5mcF90YXJnZXRSYW5nZTwv c3RydWN0ZmllbGQ+IGlzIGEgcmFuZ2V0eXBlIHZhbHVlIGNyZWF0ZWQKKyAgICAgICBieSBldmFs dWF0aW5nIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91bmRzLgorICAg ICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgogICAg IDwvdmFyaWFibGVsaXN0PgogICAgPC9wYXJhPgogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j b21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmlu ZGV4IDVmZDhiNTEzMTJjLi45ZjEzODgxNTk3MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMK QEAgLTEzNzM1LDYgKzEzNzM1LDcgQEAgdmFsaWRhdGVGb3JlaWduS2V5Q29uc3RyYWludChjaGFy ICpjb25uYW1lLAogCQl0cmlnZGF0YS50Z190cmlndHVwbGUgPSBFeGVjRmV0Y2hTbG90SGVhcFR1 cGxlKHNsb3QsIGZhbHNlLCBOVUxMKTsKIAkJdHJpZ2RhdGEudGdfdHJpZ3Nsb3QgPSBzbG90Owog CQl0cmlnZGF0YS50Z190cmlnZ2VyID0gJnRyaWc7CisJCXRyaWdkYXRhLnRnX3RlbXBvcmFsID0g TlVMTDsKIAogCQlmY2luZm8tPmNvbnRleHQgPSAoTm9kZSAqKSAmdHJpZ2RhdGE7CiAKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3RyaWdnZXIuYwppbmRleCA1NzlhYzhkNzZhZS4uNDNiOWQ4MmU2M2EgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5k cy90cmlnZ2VyLmMKQEAgLTQ3LDEyICs0NywxNCBAQAogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5o IgogI2luY2x1ZGUgInV0aWxzL2FjbC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCisj aW5jbHVkZSAidXRpbHMvZGF0dW0uaCIKICNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgogI2lu Y2x1ZGUgInV0aWxzL2d1Y19ob29rcy5oIgogI2luY2x1ZGUgInV0aWxzL2ludmFsLmgiCiAjaW5j bHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiCiAjaW5jbHVkZSAidXRpbHMvbWVtdXRpbHMuaCIKICNp bmNsdWRlICJ1dGlscy9wbGFuY2FjaGUuaCIKKyNpbmNsdWRlICJ1dGlscy9yYW5nZXR5cGVzLmgi CiAjaW5jbHVkZSAidXRpbHMvcmVsLmgiCiAjaW5jbHVkZSAidXRpbHMvc25hcG1nci5oIgogI2lu Y2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCkBAIC0yNjQ5LDYgKzI2NTEsNyBAQCBFeGVjQlNEZWxl dGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbykKIAlMb2NU cmlnZ2VyRGF0YS50Z19ldmVudCA9IFRSSUdHRVJfRVZFTlRfREVMRVRFIHwKIAkJVFJJR0dFUl9F VkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSByZWxpbmZvLT5yaV9S ZWxhdGlvbkRlc2M7CisJTG9jVHJpZ2dlckRhdGEudGdfdGVtcG9yYWwgPSByZWxpbmZvLT5yaV9m b3JQb3J0aW9uT2Y7CiAJZm9yIChpID0gMDsgaSA8IHRyaWdkZXNjLT5udW10cmlnZ2VyczsgaSsr KQogCXsKIAkJVHJpZ2dlciAgICAqdHJpZ2dlciA9ICZ0cmlnZGVzYy0+dHJpZ2dlcnNbaV07CkBA IC0yNzU3LDYgKzI3NjAsNyBAQCBFeGVjQlJEZWxldGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwg RVBRU3RhdGUgKmVwcXN0YXRlLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8CiAJCVRSSUdHRVJfRVZF TlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVs YXRpb25EZXNjOworCUxvY1RyaWdnZXJEYXRhLnRnX3RlbXBvcmFsID0gcmVsaW5mby0+cmlfZm9y UG9ydGlvbk9mOwogCWZvciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkrKykK IAl7CiAJCUhlYXBUdXBsZQluZXd0dXBsZTsKQEAgLTI4NTgsNiArMjg2Miw3IEBAIEV4ZWNJUkRl bGV0ZVRyaWdnZXJzKEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQlU UklHR0VSX0VWRU5UX1JPVyB8CiAJCVRSSUdHRVJfRVZFTlRfSU5TVEVBRDsKIAlMb2NUcmlnZ2Vy RGF0YS50Z19yZWxhdGlvbiA9IHJlbGluZm8tPnJpX1JlbGF0aW9uRGVzYzsKKwlMb2NUcmlnZ2Vy RGF0YS50Z190ZW1wb3JhbCA9IHJlbGluZm8tPnJpX2ZvclBvcnRpb25PZjsKIAogCUV4ZWNGb3Jj ZVN0b3JlSGVhcFR1cGxlKHRyaWd0dXBsZSwgc2xvdCwgZmFsc2UpOwogCkBAIC0yOTIxLDYgKzI5 MjYsNyBAQCBFeGVjQlNVcGRhdGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5m byAqcmVsaW5mbykKIAkJVFJJR0dFUl9FVkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdf cmVsYXRpb24gPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7CiAJTG9jVHJpZ2dlckRhdGEudGdf dXBkYXRlZGNvbHMgPSB1cGRhdGVkQ29sczsKKwlMb2NUcmlnZ2VyRGF0YS50Z190ZW1wb3JhbCA9 IHJlbGluZm8tPnJpX2ZvclBvcnRpb25PZjsKIAlmb3IgKGkgPSAwOyBpIDwgdHJpZ2Rlc2MtPm51 bXRyaWdnZXJzOyBpKyspCiAJewogCQlUcmlnZ2VyICAgICp0cmlnZ2VyID0gJnRyaWdkZXNjLT50 cmlnZ2Vyc1tpXTsKQEAgLTMwNjQsNiArMzA3MCw3IEBAIEV4ZWNCUlVwZGF0ZVRyaWdnZXJzKEVT dGF0ZSAqZXN0YXRlLCBFUFFTdGF0ZSAqZXBxc3RhdGUsCiAJCVRSSUdHRVJfRVZFTlRfUk9XIHwK IAkJVFJJR0dFUl9FVkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSBy ZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7CisJTG9jVHJpZ2dlckRhdGEudGdfdGVtcG9yYWwgPSBy ZWxpbmZvLT5yaV9mb3JQb3J0aW9uT2Y7CiAJdXBkYXRlZENvbHMgPSBFeGVjR2V0QWxsVXBkYXRl ZENvbHMocmVsaW5mbywgZXN0YXRlKTsKIAlMb2NUcmlnZ2VyRGF0YS50Z191cGRhdGVkY29scyA9 IHVwZGF0ZWRDb2xzOwogCWZvciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkr KykKQEAgLTMyMjYsNiArMzIzMyw3IEBAIEV4ZWNJUlVwZGF0ZVRyaWdnZXJzKEVTdGF0ZSAqZXN0 YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8CiAJCVRS SUdHRVJfRVZFTlRfSU5TVEVBRDsKIAlMb2NUcmlnZ2VyRGF0YS50Z19yZWxhdGlvbiA9IHJlbGlu Zm8tPnJpX1JlbGF0aW9uRGVzYzsKKwlMb2NUcmlnZ2VyRGF0YS50Z190ZW1wb3JhbCA9IHJlbGlu Zm8tPnJpX2ZvclBvcnRpb25PZjsKIAogCUV4ZWNGb3JjZVN0b3JlSGVhcFR1cGxlKHRyaWd0dXBs ZSwgb2xkc2xvdCwgZmFsc2UpOwogCkBAIC0zNjk3LDYgKzM3MDUsNyBAQCB0eXBlZGVmIHN0cnVj dCBBZnRlclRyaWdnZXJTaGFyZWREYXRhCiAJT2lkCQkJYXRzX3JlbGlkOwkJLyogdGhlIHJlbGF0 aW9uIGl0J3Mgb24gKi8KIAlPaWQJCQlhdHNfcm9saWQ7CQkvKiByb2xlIHRvIGV4ZWN1dGUgdGhl IHRyaWdnZXIgKi8KIAlDb21tYW5kSWQJYXRzX2ZpcmluZ19pZDsJLyogSUQgZm9yIGZpcmluZyBj eWNsZSAqLworCUZvclBvcnRpb25PZlN0YXRlICpmb3JfcG9ydGlvbl9vZjsJLyogdGhlIEZPUiBQ T1JUSU9OIE9GIGNsYXVzZSAqLwogCXN0cnVjdCBBZnRlclRyaWdnZXJzVGFibGVEYXRhICphdHNf dGFibGU7CS8qIHRyYW5zaXRpb24gdGFibGUgYWNjZXNzICovCiAJQml0bWFwc2V0ICAqYXRzX21v ZGlmaWVkY29sczsJLyogbW9kaWZpZWQgY29sdW1ucyAqLwogfSBBZnRlclRyaWdnZXJTaGFyZWRE YXRhOwpAQCAtMzk3MCw2ICszOTc5LDcgQEAgc3RhdGljIFNldENvbnN0cmFpbnRTdGF0ZSBTZXRD b25zdHJhaW50U3RhdGVDcmVhdGUoaW50IG51bWFsbG9jKTsKIHN0YXRpYyBTZXRDb25zdHJhaW50 U3RhdGUgU2V0Q29uc3RyYWludFN0YXRlQ29weShTZXRDb25zdHJhaW50U3RhdGUgb3JpZ3N0YXRl KTsKIHN0YXRpYyBTZXRDb25zdHJhaW50U3RhdGUgU2V0Q29uc3RyYWludFN0YXRlQWRkSXRlbShT ZXRDb25zdHJhaW50U3RhdGUgc3RhdGUsCiAJCQkJCQkJCQkJCQkJT2lkIHRnb2lkLCBib29sIHRn aXNkZWZlcnJlZCk7CitzdGF0aWMgRm9yUG9ydGlvbk9mU3RhdGUgKkNvcHlGb3JQb3J0aW9uT2ZT dGF0ZShGb3JQb3J0aW9uT2ZTdGF0ZSAqc3JjKTsKIHN0YXRpYyB2b2lkIGNhbmNlbF9wcmlvcl9z dG10X3RyaWdnZXJzKE9pZCByZWxpZCwgQ21kVHlwZSBjbWRUeXBlLCBpbnQgdGdldmVudCk7CiAK IApAQCAtNDE3Nyw2ICs0MTg3LDcgQEAgYWZ0ZXJUcmlnZ2VyQWRkRXZlbnQoQWZ0ZXJUcmlnZ2Vy RXZlbnRMaXN0ICpldmVudHMsCiAJCQluZXdzaGFyZWQtPmF0c19ldmVudCA9PSBldnRzaGFyZWQt PmF0c19ldmVudCAmJgogCQkJbmV3c2hhcmVkLT5hdHNfZmlyaW5nX2lkID09IDAgJiYKIAkJCW5l d3NoYXJlZC0+YXRzX3RhYmxlID09IGV2dHNoYXJlZC0+YXRzX3RhYmxlICYmCisJCQluZXdzaGFy ZWQtPmZvcl9wb3J0aW9uX29mID09IGV2dHNoYXJlZC0+Zm9yX3BvcnRpb25fb2YgJiYKIAkJCW5l d3NoYXJlZC0+YXRzX3JlbGlkID09IGV2dHNoYXJlZC0+YXRzX3JlbGlkICYmCiAJCQluZXdzaGFy ZWQtPmF0c19yb2xpZCA9PSBldnRzaGFyZWQtPmF0c19yb2xpZCAmJgogCQkJYm1zX2VxdWFsKG5l d3NoYXJlZC0+YXRzX21vZGlmaWVkY29scywKQEAgLTQ1NTMsNiArNDU2NCw5IEBAIEFmdGVyVHJp Z2dlckV4ZWN1dGUoRVN0YXRlICplc3RhdGUsCiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24g PSByZWw7CiAJaWYgKFRSSUdHRVJfRk9SX1VQREFURShMb2NUcmlnZ2VyRGF0YS50Z190cmlnZ2Vy LT50Z3R5cGUpKQogCQlMb2NUcmlnZ2VyRGF0YS50Z191cGRhdGVkY29scyA9IGV2dHNoYXJlZC0+ YXRzX21vZGlmaWVkY29sczsKKwlpZiAoVFJJR0dFUl9GT1JfVVBEQVRFKExvY1RyaWdnZXJEYXRh LnRnX3RyaWdnZXItPnRndHlwZSkgfHwKKwkJVFJJR0dFUl9GT1JfREVMRVRFKExvY1RyaWdnZXJE YXRhLnRnX3RyaWdnZXItPnRndHlwZSkpCisJCUxvY1RyaWdnZXJEYXRhLnRnX3RlbXBvcmFsID0g ZXZ0c2hhcmVkLT5mb3JfcG9ydGlvbl9vZjsKIAogCU1lbW9yeUNvbnRleHRSZXNldChwZXJfdHVw bGVfY29udGV4dCk7CiAKQEAgLTYxMDIsNiArNjExNiw0MiBAQCBBZnRlclRyaWdnZXJQZW5kaW5n T25SZWwoT2lkIHJlbGlkKQogCXJldHVybiBmYWxzZTsKIH0KIAorLyogLS0tLS0tLS0tLQorICog Rm9yUG9ydGlvbk9mU3RhdGUoKQorICoKKyAqIENvcHlzIGEgRm9yUG9ydGlvbk9mU3RhdGUgaW50 byB0aGUgY3VycmVudCBtZW1vcnkgY29udGV4dC4KKyAqLworc3RhdGljIEZvclBvcnRpb25PZlN0 YXRlICoKK0NvcHlGb3JQb3J0aW9uT2ZTdGF0ZShGb3JQb3J0aW9uT2ZTdGF0ZSAqc3JjKQorewor CUZvclBvcnRpb25PZlN0YXRlICpkc3QgPSBOVUxMOworCisJaWYgKHNyYykKKwl7CisJCU1lbW9y eUNvbnRleHQgb2xkY3R4OworCQlSYW5nZVR5cGUgICpyOworCQlUeXBlQ2FjaGVFbnRyeSAqdHlw Y2FjaGU7CisKKwkJLyoKKwkJICogTmVlZCB0byBsaWZ0IHRoZSBGT1IgUE9SVElPTiBPRiBkZXRh aWxzIGludG8gYSBoaWdoZXIgbWVtb3J5CisJCSAqIGNvbnRleHQgYmVjYXVzZSBjYXNjYWRpbmcg Zm9yZWlnbiBrZXkgdXBkYXRlL2RlbGV0ZXMgY2FuIGNhdXNlCisJCSAqIHRyaWdnZXJzIHRvIGZp cmUgdHJpZ2dlcnMsIGFuZCB0aGUgQWZ0ZXJUcmlnZ2VyRXZlbnRzIHdpbGwgb3V0bGl2ZQorCQkg KiB0aGUgRlBPIGRldGFpbHMgb2YgdGhlIG9yaWdpbmFsIHF1ZXJ5LgorCQkgKi8KKwkJb2xkY3R4 ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKFRvcFRyYW5zYWN0aW9uQ29udGV4dCk7CisJCWRzdCA9 IG1ha2VOb2RlKEZvclBvcnRpb25PZlN0YXRlKTsKKwkJZHN0LT5mcF9yYW5nZU5hbWUgPSBwc3Ry ZHVwKHNyYy0+ZnBfcmFuZ2VOYW1lKTsKKwkJZHN0LT5mcF9yYW5nZVR5cGUgPSBzcmMtPmZwX3Jh bmdlVHlwZTsKKwkJZHN0LT5mcF9yYW5nZUF0dG5vID0gc3JjLT5mcF9yYW5nZUF0dG5vOworCisJ CXIgPSBEYXR1bUdldFJhbmdlVHlwZVAoc3JjLT5mcF90YXJnZXRSYW5nZSk7CisJCXR5cGNhY2hl ID0gbG9va3VwX3R5cGVfY2FjaGUoUmFuZ2VUeXBlR2V0T2lkKHIpLCBUWVBFQ0FDSEVfUkFOR0Vf SU5GTyk7CisJCWRzdC0+ZnBfdGFyZ2V0UmFuZ2UgPSBkYXR1bUNvcHkoc3JjLT5mcF90YXJnZXRS YW5nZSwgdHlwY2FjaGUtPnR5cGJ5dmFsLCB0eXBjYWNoZS0+dHlwbGVuKTsKKwkJTWVtb3J5Q29u dGV4dFN3aXRjaFRvKG9sZGN0eCk7CisJfQorCXJldHVybiBkc3Q7Cit9CisKIC8qIC0tLS0tLS0t LS0KICAqIEFmdGVyVHJpZ2dlclNhdmVFdmVudCgpCiAgKgpAQCAtNjUxOCw2ICs2NTY4LDcgQEAg QWZ0ZXJUcmlnZ2VyU2F2ZUV2ZW50KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxp bmZvLAogCQllbHNlCiAJCQluZXdfc2hhcmVkLmF0c190YWJsZSA9IE5VTEw7CiAJCW5ld19zaGFy ZWQuYXRzX21vZGlmaWVkY29scyA9IG1vZGlmaWVkQ29sczsKKwkJbmV3X3NoYXJlZC5mb3JfcG9y dGlvbl9vZiA9IENvcHlGb3JQb3J0aW9uT2ZTdGF0ZShyZWxpbmZvLT5yaV9mb3JQb3J0aW9uT2Yp OwogCiAJCWFmdGVyVHJpZ2dlckFkZEV2ZW50KCZhZnRlclRyaWdnZXJzLnF1ZXJ5X3N0YWNrW2Fm dGVyVHJpZ2dlcnMucXVlcnlfZGVwdGhdLmV2ZW50cywKIAkJCQkJCQkgJm5ld19ldmVudCwgJm5l d19zaGFyZWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oIGIv c3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oCmluZGV4IGNmZDdkYWEyMGVkLi5jNjdlMTMy NDM5MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oCisrKyBiL3Ny Yy9pbmNsdWRlL2NvbW1hbmRzL3RyaWdnZXIuaApAQCAtNDEsNiArNDEsNyBAQCB0eXBlZGVmIHN0 cnVjdCBUcmlnZ2VyRGF0YQogCVR1cGxlc3RvcmVzdGF0ZSAqdGdfb2xkdGFibGU7CiAJVHVwbGVz dG9yZXN0YXRlICp0Z19uZXd0YWJsZTsKIAljb25zdCBCaXRtYXBzZXQgKnRnX3VwZGF0ZWRjb2xz OworCUZvclBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbDsKIH0gVHJpZ2dlckRhdGE7CiAKIC8q Ci0tIAoyLjM5LjUKCg== --000000000000c475330641ea99bd--