Return-Path: linux-nfs-owner@vger.kernel.org Received: from mail-we0-f174.google.com ([74.125.82.174]:63222 "EHLO mail-we0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965401Ab2CPPNF (ORCPT ); Fri, 16 Mar 2012 11:13:05 -0400 Received: by wejx9 with SMTP id x9so4010871wej.19 for ; Fri, 16 Mar 2012 08:13:02 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1331856643.24392.3.camel@lade.trondhjem.org> References: <1331836850-5195-1-git-send-email-andros@netapp.com> <1331836850-5195-9-git-send-email-andros@netapp.com> <1331856643.24392.3.camel@lade.trondhjem.org> Date: Fri, 16 Mar 2012 11:13:02 -0400 Message-ID: Subject: Re: [PATCH Version 1 08/11] SUNRPC: add rpc_drain_queue to empty an rpc_waitq From: Andy Adamson To: "Myklebust, Trond" Cc: "Adamson, Andy" , "linux-nfs@vger.kernel.org" Content-Type: multipart/mixed; boundary=f46d04182544133ca204bb5da5c6 Sender: linux-nfs-owner@vger.kernel.org List-ID: --f46d04182544133ca204bb5da5c6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Thu, Mar 15, 2012 at 8:10 PM, Myklebust, Trond wrote: > On Thu, 2012-03-15 at 14:40 -0400, andros@netapp.com wrote: >> From: Andy Adamson >> >> Signed-off-by: Andy Adamson >> --- >> =A0include/linux/sunrpc/sched.h | =A0 =A01 + >> =A0net/sunrpc/sched.c =A0 =A0 =A0 =A0 =A0 | =A0 27 +++++++++++++++++++++= ++++++ >> =A02 files changed, 28 insertions(+), 0 deletions(-) >> >> diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h >> index dc0c3cc..fce0873 100644 >> --- a/include/linux/sunrpc/sched.h >> +++ b/include/linux/sunrpc/sched.h >> @@ -235,6 +235,7 @@ void =A0 =A0 =A0 =A0 =A0 =A0 =A0rpc_sleep_on_priorit= y(struct rpc_wait_queue *, >> =A0void =A0 =A0 =A0 =A0 rpc_wake_up_queued_task(struct rpc_wait_queue *, >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 struct rpc_task *); >> =A0void =A0 =A0 =A0 =A0 rpc_wake_up(struct rpc_wait_queue *); >> +void =A0 =A0 =A0 =A0 rpc_drain_queue(struct rpc_wait_queue *); >> =A0struct rpc_task *rpc_wake_up_next(struct rpc_wait_queue *); >> =A0struct rpc_task *rpc_wake_up_first(struct rpc_wait_queue *, >> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 bool (*)(struct rpc_task *, void *), >> diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c >> index 1c570a8..11928ff 100644 >> --- a/net/sunrpc/sched.c >> +++ b/net/sunrpc/sched.c >> @@ -551,6 +551,33 @@ void rpc_wake_up(struct rpc_wait_queue *queue) >> =A0EXPORT_SYMBOL_GPL(rpc_wake_up); >> >> =A0/** >> + * rpc_drain_queue - empty the queue and wake up all rpc_tasks >> + * @queue: rpc_wait_queue on which the tasks are sleeping >> + * >> + * Grabs queue->lock >> + */ >> +void rpc_drain_queue(struct rpc_wait_queue *queue) >> +{ >> + =A0 =A0 struct rpc_task *task; >> + =A0 =A0 struct list_head *head; >> + >> + =A0 =A0 spin_lock_bh(&queue->lock); >> + =A0 =A0 head =3D &queue->tasks[queue->maxpriority]; >> + =A0 =A0 for (;;) { >> + =A0 =A0 =A0 =A0 =A0 =A0 while (!list_empty(head)) { >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 task =3D list_entry(head->next= , struct rpc_task, >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 u.tk_wait.list); >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 rpc_wake_up_task_queue_locked(= queue, task); >> + =A0 =A0 =A0 =A0 =A0 =A0 } >> + =A0 =A0 =A0 =A0 =A0 =A0 if (head =3D=3D &queue->tasks[0]) >> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 break; >> + =A0 =A0 =A0 =A0 =A0 =A0 head--; >> + =A0 =A0 } >> + =A0 =A0 spin_unlock_bh(&queue->lock); >> +} >> +EXPORT_SYMBOL_GPL(rpc_drain_queue); >> + > > Confused... How is this function any different from rpc_wake_up()? Because it actually drains the queues where rpc_wake_up does not. See the attached output where I added the same printks to both rpc_drain_queue and rpc_wake_up. -->Andy > > -- > Trond Myklebust > Linux NFS client maintainer > > NetApp > Trond.Myklebust@netapp.com > www.netapp.com > --f46d04182544133ca204bb5da5c6 Content-Type: text/plain; charset=US-ASCII; name="rpc-wake_up.txt" Content-Disposition: attachment; filename="rpc-wake_up.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gzvcw0ks0 ciAxNiAxMDowNzoyOSBuZXRhcHAyIGtlcm5lbDogWyAgMTk5LjM2MDc1NV0gTkZTOiBEZXZpY2Vp ZCBbMDAwMF0gbWFya2VkIG91dCBvZiB1c2UuCk1hciAxNiAxMDowNzoyOSBuZXRhcHAyIGtlcm5l bDogWyAgMTk5LjM2MDc2Ml0gcnBjX3dha2VfdXAgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA0ODk4 YTBhOCBxbGVuIDE0OApNYXIgMTYgMTA6MDc6MjkgbmV0YXBwMiBrZXJuZWw6IFsgIDE5OS4zNjA3 NjVdIHJwY193YWtlX3VwIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwOTggcWxlbiAxNDgK TWFyIDE2IDEwOjA3OjI5IG5ldGFwcDIga2VybmVsOiBbICAxOTkuMzYwNzY4XSBycGNfd2FrZV91 cCB3YWtlIHVwIHRhc2sgMjA3IHFsZW4gMTQ4Ck1hciAxNiAxMDowNzoyOSBuZXRhcHAyIGtlcm5l bDogWyAgMTk5LjM2MDc3MV0gcnBjX3dha2VfdXAgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA0ODk4 YTA4OCBxbGVuIDE0NwpNYXIgMTYgMTA6MDc6MjkgbmV0YXBwMiBrZXJuZWw6IFsgIDE5OS4zNjA3 NzRdIHJwY193YWtlX3VwIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwNzggcWxlbiAxNDcK TWFyIDE2IDEwOjA3OjI5IG5ldGFwcDIga2VybmVsOiBbICAxOTkuMzYwNzc3XSA8LS0gcnBjX3dh a2VfdXAgRG9uZSBxbGVuIDE0NwpNYXIgMTYgMTA6MDc6MjkgbmV0YXBwMiBrZXJuZWw6IFsgIDE5 OS4zNjEwMTldIE5GUzogRGV2aWNlaWQgWzAwMDBdIG1hcmtlZCBvdXQgb2YgdXNlLgpNYXIgMTYg MTA6MDc6MjkgbmV0YXBwMiBrZXJuZWw6IFsgIDE5OS4zNjEwMjFdIHJwY193YWtlX3VwIERvbmUg d2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwYTggcWxlbiAxNDYKTWFyIDE2IDEwOjA3OjI5IG5ldGFw cDIga2VybmVsOiBbICAxOTkuMzYxMDIzXSBycGNfd2FrZV91cCBEb25lIHdpdGggaGVhZCBmZmZm ODgwMDQ4OThhMDk4IHFsZW4gMTQ2Ck1hciAxNiAxMDowNzoyOSBuZXRhcHAyIGtlcm5lbDogWyAg MTk5LjM2MTAyNV0gcnBjX3dha2VfdXAgd2FrZSB1cCB0YXNrIDIwOSBxbGVuIDE0NgpNYXIgMTYg MTA6MDc6MjkgbmV0YXBwMiBrZXJuZWw6IFsgIDE5OS4zNjEwMjZdIHJwY193YWtlX3VwIERvbmUg d2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwODggcWxlbiAxNDUKTWFyIDE2IDEwOjA3OjI5IG5ldGFw cDIga2VybmVsOiBbICAxOTkuMzYxMDI4XSBycGNfd2FrZV91cCBEb25lIHdpdGggaGVhZCBmZmZm ODgwMDQ4OThhMDc4IHFsZW4gMTQ1Ck1hciAxNiAxMDowNzoyOSBuZXRhcHAyIGtlcm5lbDogWyAg MTk5LjM2MTAzMF0gPC0tIHJwY193YWtlX3VwIERvbmUgcWxlbiAxNDUKTWFyIDE2IDEwOjA3OjQ0 IG5ldGFwcDIga2VybmVsOiBbICAyMTQuMzkyODYxXSBORlM6IERldmljZWlkIFswMDAwXSBtYXJr ZWQgb3V0IG9mIHVzZS4KTWFyIDE2IDEwOjA3OjQ0IG5ldGFwcDIga2VybmVsOiBbICAyMTQuMzky ODY2XSBycGNfd2FrZV91cCBEb25lIHdpdGggaGVhZCBmZmZmODgwMDQ4OThhMGE4IHFsZW4gMTQ0 Ck1hciAxNiAxMDowNzo0NCBuZXRhcHAyIGtlcm5lbDogWyAgMjE0LjM5Mjg2OF0gcnBjX3dha2Vf dXAgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA0ODk4YTA5OCBxbGVuIDE0NApNYXIgMTYgMTA6MDc6 NDQgbmV0YXBwMiBrZXJuZWw6IFsgIDIxNC4zOTI4NjldIHJwY193YWtlX3VwIHdha2UgdXAgdGFz ayAyMTEgcWxlbiAxNDQKTWFyIDE2IDEwOjA3OjQ0IG5ldGFwcDIga2VybmVsOiBbICAyMTQuMzky ODcyXSBycGNfd2FrZV91cCBEb25lIHdpdGggaGVhZCBmZmZmODgwMDQ4OThhMDg4IHFsZW4gMTQz Ck1hciAxNiAxMDowNzo0NCBuZXRhcHAyIGtlcm5lbDogWyAgMjE0LjM5Mjg3M10gcnBjX3dha2Vf dXAgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA0ODk4YTA3OCBxbGVuIDE0MwpNYXIgMTYgMTA6MDc6 NDQgbmV0YXBwMiBrZXJuZWw6IFsgIDIxNC4zOTI4NzVdIDwtLSBycGNfd2FrZV91cCBEb25lIHFs ZW4gMTQzCk1hciAxNiAxMDowODowMiBuZXRhcHAyIGtlcm5lbDogWyAgMjMyLjQyNzg3N10gTkZT OiBEZXZpY2VpZCBbMDAwMF0gbWFya2VkIG91dCBvZiB1c2UuCk1hciAxNiAxMDowODowMiBuZXRh cHAyIGtlcm5lbDogWyAgMjMyLjQyNzg4Ml0gcnBjX3dha2VfdXAgRG9uZSB3aXRoIGhlYWQgZmZm Zjg4MDA0ODk4YTBhOCBxbGVuIDE0MwpNYXIgMTYgMTA6MDg6MDIgbmV0YXBwMiBrZXJuZWw6IFsg IDIzMi40Mjc4ODRdIHJwY193YWtlX3VwIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwOTgg cWxlbiAxNDMKTWFyIDE2IDEwOjA4OjAyIG5ldGFwcDIga2VybmVsOiBbICAyMzIuNDI3ODg2XSBy cGNfd2FrZV91cCB3YWtlIHVwIHRhc2sgMjEzIHFsZW4gMTQzCk1hciAxNiAxMDowODowMiBuZXRh cHAyIGtlcm5lbDogWyAgMjMyLjQyNzg4OF0gcnBjX3dha2VfdXAgd2FrZSB1cCB0YXNrIDM2MiBx bGVuIDE0MgpNYXIgMTYgMTA6MDg6MDIgbmV0YXBwMiBrZXJuZWw6IFsgIDIzMi40Mjc4OTBdIHJw Y193YWtlX3VwIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwODggcWxlbiAxNDEKTWFyIDE2 IDEwOjA4OjAyIG5ldGFwcDIga2VybmVsOiBbICAyMzIuNDI3ODkxXSBycGNfd2FrZV91cCBEb25l IHdpdGggaGVhZCBmZmZmODgwMDQ4OThhMDc4IHFsZW4gMTQxCk1hciAxNiAxMDowODowMiBuZXRh cHAyIGtlcm5lbDogWyAgMjMyLjQyNzg5M10gPC0tIHJwY193YWtlX3VwIERvbmUgcWxlbiAxNDEK TWFyIDE2IDEwOjA4OjE3IG5ldGFwcDIga2VybmVsOiBbICAyNDcuNDU3Mjc0XSBORlM6IERldmlj ZWlkIFswMDAwXSBtYXJrZWQgb3V0IG9mIHVzZS4KTWFyIDE2IDEwOjA4OjE3IG5ldGFwcDIga2Vy bmVsOiBbICAyNDcuNDU3MjgxXSBycGNfd2FrZV91cCBEb25lIHdpdGggaGVhZCBmZmZmODgwMDQ4 OThhMGE4IHFsZW4gMTQxCk1hciAxNiAxMDowODoxNyBuZXRhcHAyIGtlcm5lbDogWyAgMjQ3LjQ1 NzI4NF0gcnBjX3dha2VfdXAgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA0ODk4YTA5OCBxbGVuIDE0 MQpNYXIgMTYgMTA6MDg6MTcgbmV0YXBwMiBrZXJuZWw6IFsgIDI0Ny40NTcyODddIHJwY193YWtl X3VwIHdha2UgdXAgdGFzayAyMTUgcWxlbiAxNDEKTWFyIDE2IDEwOjA4OjE3IG5ldGFwcDIga2Vy bmVsOiBbICAyNDcuNDU3MjkwXSBycGNfd2FrZV91cCB3YWtlIHVwIHRhc2sgMzYyIHFsZW4gMTQw Ck1hciAxNiAxMDowODoxNyBuZXRhcHAyIGtlcm5lbDogWyAgMjQ3LjQ1NzI5M10gcnBjX3dha2Vf dXAgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA0ODk4YTA4OCBxbGVuIDEzOQpNYXIgMTYgMTA6MDg6 MTcgbmV0YXBwMiBrZXJuZWw6IFsgIDI0Ny40NTcyOTZdIHJwY193YWtlX3VwIERvbmUgd2l0aCBo ZWFkIGZmZmY4ODAwNDg5OGEwNzggcWxlbiAxMzkKTWFyIDE2IDEwOjA4OjE3IG5ldGFwcDIga2Vy bmVsOiBbICAyNDcuNDU3Mjk5XSA8LS0gcnBjX3dha2VfdXAgRG9uZSBxbGVuIDEzOQpNYXIgMTYg MTA6MDg6MzIgbmV0YXBwMiBrZXJuZWw6IFsgIDI2Mi40ODYzNjldIE5GUzogRGV2aWNlaWQgWzAw MDBdIG1hcmtlZCBvdXQgb2YgdXNlLgpNYXIgMTYgMTA6MDg6MzIgbmV0YXBwMiBrZXJuZWw6IFsg IDI2Mi40ODYzNzZdIHJwY193YWtlX3VwIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwYTgg cWxlbiAxMzkKTWFyIDE2IDEwOjA4OjMyIG5ldGFwcDIga2VybmVsOiBbICAyNjIuNDg2MzgwXSBy cGNfd2FrZV91cCBEb25lIHdpdGggaGVhZCBmZmZmODgwMDQ4OThhMDk4IHFsZW4gMTM5Ck1hciAx NiAxMDowODozMiBuZXRhcHAyIGtlcm5lbDogWyAgMjYyLjQ4NjM4M10gcnBjX3dha2VfdXAgd2Fr ZSB1cCB0YXNrIDIxNyBxbGVuIDEzOQpNYXIgMTYgMTA6MDg6MzIgbmV0YXBwMiBrZXJuZWw6IFsg IDI2Mi40ODYzODZdIHJwY193YWtlX3VwIHdha2UgdXAgdGFzayAzNjIgcWxlbiAxMzgKTWFyIDE2 IDEwOjA4OjMyIG5ldGFwcDIga2VybmVsOiBbICAyNjIuNDg2Mzg4XSBycGNfd2FrZV91cCBEb25l IHdpdGggaGVhZCBmZmZmODgwMDQ4OThhMDg4IHFsZW4gMTM3Ck1hciAxNiAxMDowODozMiBuZXRh cHAyIGtlcm5lbDogWyAgMjYyLjQ4NjM5MV0gcnBjX3dha2VfdXAgRG9uZSB3aXRoIGhlYWQgZmZm Zjg4MDA0ODk4YTA3OCBxbGVuIDEzNwpNYXIgMTYgMTA6MDg6MzIgbmV0YXBwMiBrZXJuZWw6IFsg IDI2Mi40ODYzOTRdIDwtLSBycGNfd2FrZV91cCBEb25lIHFsZW4gMTM3Ck1hciAxNiAxMDowODo0 NyBuZXRhcHAyIGtlcm5lbDogWyAgMjc3LjUxNjU3M10gTkZTOiBEZXZpY2VpZCBbMDAwMF0gbWFy a2VkIG91dCBvZiB1c2UuCk1hciAxNiAxMDowODo0NyBuZXRhcHAyIGtlcm5lbDogWyAgMjc3LjUx NjU4MF0gcnBjX3dha2VfdXAgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA0ODk4YTBhOCBxbGVuIDEz NwpNYXIgMTYgMTA6MDg6NDcgbmV0YXBwMiBrZXJuZWw6IFsgIDI3Ny41MTY1ODNdIHJwY193YWtl X3VwIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwOTggcWxlbiAxMzcKTWFyIDE2IDEwOjA4 OjQ3IG5ldGFwcDIga2VybmVsOiBbICAyNzcuNTE2NTg2XSBycGNfd2FrZV91cCB3YWtlIHVwIHRh c2sgMjE5IHFsZW4gMTM3Ck1hciAxNiAxMDowODo0NyBuZXRhcHAyIGtlcm5lbDogWyAgMjc3LjUx NjU4OV0gcnBjX3dha2VfdXAgd2FrZSB1cCB0YXNrIDM2MiBxbGVuIDEzNgpNYXIgMTYgMTA6MDg6 NDcgbmV0YXBwMiBrZXJuZWw6IFsgIDI3Ny41MTY1OTJdIHJwY193YWtlX3VwIERvbmUgd2l0aCBo ZWFkIGZmZmY4ODAwNDg5OGEwODggcWxlbiAxMzUKTWFyIDE2IDEwOjA4OjQ3IG5ldGFwcDIga2Vy bmVsOiBbICAyNzcuNTE2NTk1XSBycGNfd2FrZV91cCBEb25lIHdpdGggaGVhZCBmZmZmODgwMDQ4 OThhMDc4IHFsZW4gMTM1Ck1hciAxNiAxMDowODo0NyBuZXRhcHAyIGtlcm5lbDogWyAgMjc3LjUx NjU5OF0gPC0tIHJwY193YWtlX3VwIERvbmUgcWxlbiAxMzUKTWFyIDE2IDEwOjA4OjUwIG5ldGFw cDIga2VybmVsOiBbICAyODAuNDU3ODQ1XSBORlM6IERldmljZWlkIFswMDAwXSBtYXJrZWQgb3V0 IG9mIHVzZS4KTWFyIDE2IDEwOjA4OjUwIG5ldGFwcDIga2VybmVsOiBbICAyODAuNDU3ODUwXSBy cGNfd2FrZV91cCBEb25lIHdpdGggaGVhZCBmZmZmODgwMDQ4OThhMGE4IHFsZW4gMTM1Ck1hciAx NiAxMDowODo1MCBuZXRhcHAyIGtlcm5lbDogWyAgMjgwLjQ1Nzg1Ml0gcnBjX3dha2VfdXAgRG9u ZSB3aXRoIGhlYWQgZmZmZjg4MDA0ODk4YTA5OCBxbGVuIDEzNQpNYXIgMTYgMTA6MDg6NTAgbmV0 YXBwMiBrZXJuZWw6IFsgIDI4MC40NTc4NTRdIHJwY193YWtlX3VwIHdha2UgdXAgdGFzayAyMjEg cWxlbiAxMzUKTWFyIDE2IDEwOjA4OjUwIG5ldGFwcDIga2VybmVsOiBbICAyODAuNDU3ODU2XSBy cGNfd2FrZV91cCB3YWtlIHVwIHRhc2sgMzYyIHFsZW4gMTM0Ck1hciAxNiAxMDowODo1MCBuZXRh cHAyIGtlcm5lbDogWyAgMjgwLjQ1Nzg1OF0gcnBjX3dha2VfdXAgRG9uZSB3aXRoIGhlYWQgZmZm Zjg4MDA0ODk4YTA4OCBxbGVuIDEzMwpNYXIgMTYgMTA6MDg6NTAgbmV0YXBwMiBrZXJuZWw6IFsg IDI4MC40NTc4NjBdIHJwY193YWtlX3VwIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNDg5OGEwNzgg cWxlbiAxMzMKTWFyIDE2IDEwOjA4OjUwIG5ldGFwcDIga2VybmVsOiBbICAyODAuNDU3ODYxXSA8 LS0gcnBjX3dha2VfdXAgRG9uZSBxbGVuIDEzMwoKCg== --f46d04182544133ca204bb5da5c6 Content-Type: text/plain; charset=US-ASCII; name="rpc-drain.txt" Content-Disposition: attachment; filename="rpc-drain.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gzvcw8401 TWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3Mzk0XSBORlM6IERldmlj ZWlkIFswMDAwXSBtYXJrZWQgb3V0IG9mIHVzZS4KTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2Vy bmVsOiBbICAyNTMuOTQ3NDAxXSBycGNfZHJhaW5fcXVldWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4 MDA1YmM3MGNhOCBxbGVuIDU4Ck1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUz Ljk0NzQwNF0gcnBjX2RyYWluX3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjOTgg cWxlbiA1OApNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0MDddIHJw Y19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMjk4IHFsZW4gNTgKTWFyIDE2IDEwOjI3OjEwIG5l dGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NDEwXSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNr IDI5OSBxbGVuIDU3Ck1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzQx M10gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAzMDAgcWxlbiA1NgpNYXIgMTYgMTA6Mjc6 MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0MTZdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVw IHRhc2sgMzAxIHFsZW4gNTUKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMu OTQ3NDMxXSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDMwMiBxbGVuIDU0Ck1hciAxNiAx MDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzQzM10gcnBjX2RyYWluX3F1ZXVlIHdh a2UgdXAgdGFzayAzMDMgcWxlbiA1MwpNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsg IDI1My45NDc0MzVdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzA0IHFsZW4gNTIKTWFy IDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NDM3XSBycGNfZHJhaW5fcXVl dWUgd2FrZSB1cCB0YXNrIDMwNSBxbGVuIDUxCk1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5l bDogWyAgMjUzLjk0NzQzOV0gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAzMDYgcWxlbiA1 MApNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0NDFdIHJwY19kcmFp bl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzA3IHFsZW4gNDkKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIg a2VybmVsOiBbICAyNTMuOTQ3NDQyXSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDMwOCBx bGVuIDQ4Ck1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzQ0NV0gcnBj X2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAzMDkgcWxlbiA0NwpNYXIgMTYgMTA6Mjc6MTAgbmV0 YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0NDZdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sg MzEwIHFsZW4gNDYKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NDQ5 XSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDMxMSBxbGVuIDQ1Ck1hciAxNiAxMDoyNzox MCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzQ1MF0gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAg dGFzayAzMTIgcWxlbiA0NApNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45 NDc0NTJdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzEzIHFsZW4gNDMKTWFyIDE2IDEw OjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NDU0XSBycGNfZHJhaW5fcXVldWUgd2Fr ZSB1cCB0YXNrIDMxNCBxbGVuIDQyCk1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAg MjUzLjk0NzQ1Nl0gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAzMTUgcWxlbiA0MQpNYXIg MTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0NThdIHJwY19kcmFpbl9xdWV1 ZSB3YWtlIHVwIHRhc2sgMzE2IHFsZW4gNDAKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVs OiBbICAyNTMuOTQ3NDYwXSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDMxNyBxbGVuIDM5 Ck1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzQ2Ml0gcnBjX2RyYWlu X3F1ZXVlIHdha2UgdXAgdGFzayAzMTggcWxlbiAzOApNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBr ZXJuZWw6IFsgIDI1My45NDc0NjNdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzE5IHFs ZW4gMzcKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NDY1XSBycGNf ZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDMyMCBxbGVuIDM2Ck1hciAxNiAxMDoyNzoxMCBuZXRh cHAyIGtlcm5lbDogWyAgMjUzLjk0NzQ2N10gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAz MjEgcWxlbiAzNQpNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0Njld IHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzIyIHFsZW4gMzQKTWFyIDE2IDEwOjI3OjEw IG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NDcxXSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0 YXNrIDMyMyBxbGVuIDMzCk1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0 NzQ3M10gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAzMjQgcWxlbiAzMgpNYXIgMTYgMTA6 Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0NzVdIHJwY19kcmFpbl9xdWV1ZSB3YWtl IHVwIHRhc2sgMzI1IHFsZW4gMzEKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAy NTMuOTQ3NDc2XSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDMyNiBxbGVuIDMwCk1hciAx NiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzQ3OF0gcnBjX2RyYWluX3F1ZXVl IHdha2UgdXAgdGFzayAzMjcgcWxlbiAyOQpNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6 IFsgIDI1My45NDc0ODBdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzI4IHFsZW4gMjgK TWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NDgyXSBycGNfZHJhaW5f cXVldWUgd2FrZSB1cCB0YXNrIDMyOSBxbGVuIDI3Ck1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtl cm5lbDogWyAgMjUzLjk0NzQ4NF0gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAzMzAgcWxl biAyNgpNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0ODZdIHJwY19k cmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzMxIHFsZW4gMjUKTWFyIDE2IDEwOjI3OjEwIG5ldGFw cDIga2VybmVsOiBbICAyNTMuOTQ3NDg4XSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDMz MiBxbGVuIDI0Ck1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzQ5MF0g cnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAzMzMgcWxlbiAyMwpNYXIgMTYgMTA6Mjc6MTAg bmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc0OTJdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRh c2sgMzM0IHFsZW4gMjIKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3 NDkzXSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDMzNSBxbGVuIDIxCk1hciAxNiAxMDoy NzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzQ5NV0gcnBjX2RyYWluX3F1ZXVlIHdha2Ug dXAgdGFzayAzMzYgcWxlbiAyMApNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1 My45NDc0OTddIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzM3IHFsZW4gMTkKTWFyIDE2 IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NDk5XSBycGNfZHJhaW5fcXVldWUg d2FrZSB1cCB0YXNrIDMzOCBxbGVuIDE4Ck1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDog WyAgMjUzLjk0NzUwMV0gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFzayAzMzkgcWxlbiAxNwpN YXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc1MDNdIHJwY19kcmFpbl9x dWV1ZSB3YWtlIHVwIHRhc2sgMzQwIHFsZW4gMTYKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2Vy bmVsOiBbICAyNTMuOTQ3NTA1XSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDM0MSBxbGVu IDE1Ck1hciAxNiAxMDoyNzoxMCBuZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzUwN10gcnBjX2Ry YWluX3F1ZXVlIHdha2UgdXAgdGFzayAzNDIgcWxlbiAxNApNYXIgMTYgMTA6Mjc6MTAgbmV0YXBw MiBrZXJuZWw6IFsgIDI1My45NDc1MDhdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzQz IHFsZW4gMTMKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NTEwXSBy cGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDM0NCBxbGVuIDEyCk1hciAxNiAxMDoyNzoxMCBu ZXRhcHAyIGtlcm5lbDogWyAgMjUzLjk0NzUxMl0gcnBjX2RyYWluX3F1ZXVlIHdha2UgdXAgdGFz ayAzNDUgcWxlbiAxMQpNYXIgMTYgMTA6Mjc6MTAgbmV0YXBwMiBrZXJuZWw6IFsgIDI1My45NDc1 MTRdIHJwY19kcmFpbl9xdWV1ZSB3YWtlIHVwIHRhc2sgMzQ2IHFsZW4gMTAKTWFyIDE2IDEwOjI3 OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NTE2XSBycGNfZHJhaW5fcXVldWUgd2FrZSB1 cCB0YXNrIDM0NyBxbGVuIDkKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMu OTQ3NTE4XSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDM0OCBxbGVuIDgKTWFyIDE2IDEw OjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NTIwXSBycGNfZHJhaW5fcXVldWUgd2Fr ZSB1cCB0YXNrIDM0OSBxbGVuIDcKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAy NTMuOTQ3NTIyXSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDM1MCBxbGVuIDYKTWFyIDE2 IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NTIzXSBycGNfZHJhaW5fcXVldWUg d2FrZSB1cCB0YXNrIDM1MSBxbGVuIDUKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBb ICAyNTMuOTQ3NTI1XSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDM1MiBxbGVuIDQKTWFy IDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NTI3XSBycGNfZHJhaW5fcXVl dWUgd2FrZSB1cCB0YXNrIDM1MyBxbGVuIDMKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVs OiBbICAyNTMuOTQ3NTI5XSBycGNfZHJhaW5fcXVldWUgd2FrZSB1cCB0YXNrIDM1NCBxbGVuIDIK TWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NTMxXSBycGNfZHJhaW5f cXVldWUgd2FrZSB1cCB0YXNrIDM1NSBxbGVuIDEKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2Vy bmVsOiBbICAyNTMuOTQ3NTMzXSBycGNfZHJhaW5fcXVldWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4 MDA1YmM3MGM4OCBxbGVuIDAKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMu OTQ3NTM0XSBycGNfZHJhaW5fcXVldWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA1YmM3MGM3OCBx bGVuIDAKTWFyIDE2IDEwOjI3OjEwIG5ldGFwcDIga2VybmVsOiBbICAyNTMuOTQ3NTM2XSA8LS0g cnBjX2RyYWluX3F1ZXVlIERvbmUgcWxlbiAwCk1hciAxNiAxMDoyNzoyNSBuZXRhcHAyIGtlcm5l bDogWyAgMjY4Ljk4NTc2OF0gTkZTOiBEZXZpY2VpZCBbMDAwMF0gbWFya2VkIG91dCBvZiB1c2Uu Ck1hciAxNiAxMDoyNzoyNSBuZXRhcHAyIGtlcm5lbDogWyAgMjY4Ljk4NTc3NV0gcnBjX2RyYWlu X3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjYTggcWxlbiAwCk1hciAxNiAxMDoy NzoyNSBuZXRhcHAyIGtlcm5lbDogWyAgMjY4Ljk4NTc3N10gcnBjX2RyYWluX3F1ZXVlIERvbmUg d2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjOTggcWxlbiAwCk1hciAxNiAxMDoyNzoyNSBuZXRhcHAy IGtlcm5lbDogWyAgMjY4Ljk4NTc3OV0gcnBjX2RyYWluX3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZm ZmY4ODAwNWJjNzBjODggcWxlbiAwCk1hciAxNiAxMDoyNzoyNSBuZXRhcHAyIGtlcm5lbDogWyAg MjY4Ljk4NTc4MV0gcnBjX2RyYWluX3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBj NzggcWxlbiAwCk1hciAxNiAxMDoyNzoyNSBuZXRhcHAyIGtlcm5lbDogWyAgMjY4Ljk4NTc4M10g PC0tIHJwY19kcmFpbl9xdWV1ZSBEb25lIHFsZW4gMApNYXIgMTYgMTA6Mjc6NDMgbmV0YXBwMiBr ZXJuZWw6IFsgIDI4Ny4wMjEwOTRdIE5GUzogRGV2aWNlaWQgWzAwMDBdIG1hcmtlZCBvdXQgb2Yg dXNlLgpNYXIgMTYgMTA6Mjc6NDMgbmV0YXBwMiBrZXJuZWw6IFsgIDI4Ny4wMjEwOTldIHJwY19k cmFpbl9xdWV1ZSBEb25lIHdpdGggaGVhZCBmZmZmODgwMDViYzcwY2E4IHFsZW4gMApNYXIgMTYg MTA6Mjc6NDMgbmV0YXBwMiBrZXJuZWw6IFsgIDI4Ny4wMjExMDFdIHJwY19kcmFpbl9xdWV1ZSBE b25lIHdpdGggaGVhZCBmZmZmODgwMDViYzcwYzk4IHFsZW4gMApNYXIgMTYgMTA6Mjc6NDMgbmV0 YXBwMiBrZXJuZWw6IFsgIDI4Ny4wMjExMDNdIHJwY19kcmFpbl9xdWV1ZSBEb25lIHdpdGggaGVh ZCBmZmZmODgwMDViYzcwYzg4IHFsZW4gMApNYXIgMTYgMTA6Mjc6NDMgbmV0YXBwMiBrZXJuZWw6 IFsgIDI4Ny4wMjExMDVdIHJwY19kcmFpbl9xdWV1ZSBEb25lIHdpdGggaGVhZCBmZmZmODgwMDVi YzcwYzc4IHFsZW4gMApNYXIgMTYgMTA6Mjc6NDMgbmV0YXBwMiBrZXJuZWw6IFsgIDI4Ny4wMjEx MTVdIDwtLSBycGNfZHJhaW5fcXVldWUgRG9uZSBxbGVuIDAKTWFyIDE2IDEwOjI3OjU4IG5ldGFw cDIga2VybmVsOiBbICAzMDIuMDUwMzQxXSBORlM6IERldmljZWlkIFswMDAwXSBtYXJrZWQgb3V0 IG9mIHVzZS4KTWFyIDE2IDEwOjI3OjU4IG5ldGFwcDIga2VybmVsOiBbICAzMDIuMDUwMzQ3XSBy cGNfZHJhaW5fcXVldWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA1YmM3MGNhOCBxbGVuIDAKTWFy IDE2IDEwOjI3OjU4IG5ldGFwcDIga2VybmVsOiBbICAzMDIuMDUwMzUxXSBycGNfZHJhaW5fcXVl dWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA1YmM3MGM5OCBxbGVuIDAKTWFyIDE2IDEwOjI3OjU4 IG5ldGFwcDIga2VybmVsOiBbICAzMDIuMDUwMzUzXSBycGNfZHJhaW5fcXVldWUgRG9uZSB3aXRo IGhlYWQgZmZmZjg4MDA1YmM3MGM4OCBxbGVuIDAKTWFyIDE2IDEwOjI3OjU4IG5ldGFwcDIga2Vy bmVsOiBbICAzMDIuMDUwMzU2XSBycGNfZHJhaW5fcXVldWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4 MDA1YmM3MGM3OCBxbGVuIDAKTWFyIDE2IDEwOjI3OjU4IG5ldGFwcDIga2VybmVsOiBbICAzMDIu MDUwMzU5XSA8LS0gcnBjX2RyYWluX3F1ZXVlIERvbmUgcWxlbiAwCk1hciAxNiAxMDoyODoxMyBu ZXRhcHAyIGtlcm5lbDogWyAgMzE3LjA3OTU0MF0gTkZTOiBEZXZpY2VpZCBbMDAwMF0gbWFya2Vk IG91dCBvZiB1c2UuCk1hciAxNiAxMDoyODoxMyBuZXRhcHAyIGtlcm5lbDogWyAgMzE3LjA3OTU2 NF0gcnBjX2RyYWluX3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjYTggcWxlbiAw Ck1hciAxNiAxMDoyODoxMyBuZXRhcHAyIGtlcm5lbDogWyAgMzE3LjA3OTU2N10gcnBjX2RyYWlu X3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjOTggcWxlbiAwCk1hciAxNiAxMDoy ODoxMyBuZXRhcHAyIGtlcm5lbDogWyAgMzE3LjA3OTU3MF0gcnBjX2RyYWluX3F1ZXVlIERvbmUg d2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjODggcWxlbiAwCk1hciAxNiAxMDoyODoxMyBuZXRhcHAy IGtlcm5lbDogWyAgMzE3LjA3OTU3Ml0gcnBjX2RyYWluX3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZm ZmY4ODAwNWJjNzBjNzggcWxlbiAwCk1hciAxNiAxMDoyODoxMyBuZXRhcHAyIGtlcm5lbDogWyAg MzE3LjA3OTU3NV0gPC0tIHJwY19kcmFpbl9xdWV1ZSBEb25lIHFsZW4gMApNYXIgMTYgMTA6Mjg6 MjggbmV0YXBwMiBrZXJuZWw6IFsgIDMzMi4xMDg2MDRdIE5GUzogRGV2aWNlaWQgWzAwMDBdIG1h cmtlZCBvdXQgb2YgdXNlLgpNYXIgMTYgMTA6Mjg6MjggbmV0YXBwMiBrZXJuZWw6IFsgIDMzMi4x MDg2MTBdIHJwY19kcmFpbl9xdWV1ZSBEb25lIHdpdGggaGVhZCBmZmZmODgwMDViYzcwY2E4IHFs ZW4gMApNYXIgMTYgMTA6Mjg6MjggbmV0YXBwMiBrZXJuZWw6IFsgIDMzMi4xMDg2MTRdIHJwY19k cmFpbl9xdWV1ZSBEb25lIHdpdGggaGVhZCBmZmZmODgwMDViYzcwYzk4IHFsZW4gMApNYXIgMTYg MTA6Mjg6MjggbmV0YXBwMiBrZXJuZWw6IFsgIDMzMi4xMDg2MTZdIHJwY19kcmFpbl9xdWV1ZSBE b25lIHdpdGggaGVhZCBmZmZmODgwMDViYzcwYzg4IHFsZW4gMApNYXIgMTYgMTA6Mjg6MjggbmV0 YXBwMiBrZXJuZWw6IFsgIDMzMi4xMDg2MTldIHJwY19kcmFpbl9xdWV1ZSBEb25lIHdpdGggaGVh ZCBmZmZmODgwMDViYzcwYzc4IHFsZW4gMApNYXIgMTYgMTA6Mjg6MjggbmV0YXBwMiBrZXJuZWw6 IFsgIDMzMi4xMDg2MjJdIDwtLSBycGNfZHJhaW5fcXVldWUgRG9uZSBxbGVuIDAKTWFyIDE2IDEw OjI4OjMxIG5ldGFwcDIga2VybmVsOiBbICAzMzUuMTE0ODU0XSBORlM6IERldmljZWlkIFswMDAw XSBtYXJrZWQgb3V0IG9mIHVzZS4KTWFyIDE2IDEwOjI4OjMxIG5ldGFwcDIga2VybmVsOiBbICAz MzUuMTE0ODYxXSBycGNfZHJhaW5fcXVldWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA1YmM3MGNh OCBxbGVuIDAKTWFyIDE2IDEwOjI4OjMxIG5ldGFwcDIga2VybmVsOiBbICAzMzUuMTE0ODY0XSBy cGNfZHJhaW5fcXVldWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA1YmM3MGM5OCBxbGVuIDAKTWFy IDE2IDEwOjI4OjMxIG5ldGFwcDIga2VybmVsOiBbICAzMzUuMTE0ODY3XSBycGNfZHJhaW5fcXVl dWUgRG9uZSB3aXRoIGhlYWQgZmZmZjg4MDA1YmM3MGM4OCBxbGVuIDAKTWFyIDE2IDEwOjI4OjMx IG5ldGFwcDIga2VybmVsOiBbICAzMzUuMTE0ODY5XSBycGNfZHJhaW5fcXVldWUgRG9uZSB3aXRo IGhlYWQgZmZmZjg4MDA1YmM3MGM3OCBxbGVuIDAKTWFyIDE2IDEwOjI4OjMxIG5ldGFwcDIga2Vy bmVsOiBbICAzMzUuMTE0ODcyXSA8LS0gcnBjX2RyYWluX3F1ZXVlIERvbmUgcWxlbiAwCk1hciAx NiAxMDoyODo0NiBuZXRhcHAyIGtlcm5lbDogWyAgMzUwLjE0NDU4NV0gTkZTOiBEZXZpY2VpZCBb MDAwMF0gbWFya2VkIG91dCBvZiB1c2UuCk1hciAxNiAxMDoyODo0NiBuZXRhcHAyIGtlcm5lbDog WyAgMzUwLjE0NDU5MF0gcnBjX2RyYWluX3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNWJj NzBjYTggcWxlbiAwCk1hciAxNiAxMDoyODo0NiBuZXRhcHAyIGtlcm5lbDogWyAgMzUwLjE0NDU5 Ml0gcnBjX2RyYWluX3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjOTggcWxlbiAw Ck1hciAxNiAxMDoyODo0NiBuZXRhcHAyIGtlcm5lbDogWyAgMzUwLjE0NDU5NF0gcnBjX2RyYWlu X3F1ZXVlIERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjODggcWxlbiAwCk1hciAxNiAxMDoy ODo0NiBuZXRhcHAyIGtlcm5lbDogWyAgMzUwLjE0NDU5Nl0gcnBjX2RyYWluX3F1ZXVlIERvbmUg d2l0aCBoZWFkIGZmZmY4ODAwNWJjNzBjNzggcWxlbiAwCk1hciAxNiAxMDoyODo0NiBuZXRhcHAy IGtlcm5lbDogWyAgMzUwLjE0NDU5OF0gPC0tIHJwY19kcmFpbl9xdWV1ZSBEb25lIHFsZW4gMApN YXIgMTYgMTA6Mjg6NTYgbmV0YXBwMiBrZXJuZWw6IFsgIDM2MC4zNjgwNzVdIHJwY193YWtlX3Vw IERvbmUgd2l0aCBoZWFkIGZmZmY4ODAwMzdhMzdiOTAgcWxlbiAwCk1hciAxNiAxMDoyODo1NiBu ZXRhcHAyIGtlcm5lbDogWyAgMzYwLjM2ODA3OF0gPC0tIHJwY193YWtlX3VwIERvbmUgcWxlbiAw Ck1hciAxNiAxMDoyOTowMSBuZXRhcHAyIGtlcm5lbDogWyAgMzY1LjE3MjkwMV0gbmZzOiBzZXJ2 ZXIgMTkyLjE2OC4xLjkwIG5vdCByZXNwb25kaW5nLCB0aW1lZCBvdXQKCg== --f46d04182544133ca204bb5da5c6--