From: Hendrik Woltersdorf Date: January 29 2010 10:21am Subject: Antwort: Re: howto implement a fifo queue in MySQL Cluster ? List-Archive: http://lists.mysql.com/cluster/7417 Message-Id: MIME-Version: 1.0 Content-Type: multipart/related; Boundary="0__=4EBBFC29DFABEC4A8f9e8a93df938690918c4EBBFC29DFABEC4A" --0__=4EBBFC29DFABEC4A8f9e8a93df938690918c4EBBFC29DFABEC4A Content-type: multipart/alternative; Boundary="1__=4EBBFC29DFABEC4A8f9e8a93df938690918c4EBBFC29DFABEC4A" --1__=4EBBFC29DFABEC4A8f9e8a93df938690918c4EBBFC29DFABEC4A Content-type: text/plain; charset=ISO-8859-15 Content-transfer-encoding: base64 SGksDQoNCkkgaGF2ZSBhbHJlYWR5IHNldCBuZGJfYXV0b2luY3JlbWVudF9wcmVmZXRjaF9zeiB0 byAxLiBJdCBkb2VzIG5vdCBmb3JjZQ0Kb3JkZXIuDQpXaGF0IEkgZ2V0IGlzIHRoaXM6DQoNCklE ICAgICAgICBEQVRFX0lOU0VSVA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KMTQ3NTcsICcyMDEwLTAxLTI5IDEwOjE1OjUxJw0KMTQ3NTYsICcyMDEwLTAxLTI5IDEwOjE1 OjUwJw0KMTQ3NTUsICcyMDEwLTAxLTI5IDEwOjE1OjUwJw0KMTQ3MjEsICcyMDEwLTAxLTI5IDEw OjE1OjUwJw0KMTQ3MjAsICcyMDEwLTAxLTI5IDEwOjE1OjUwJw0KMTQ3MTksICcyMDEwLTAxLTI5 IDEwOjE1OjUwJw0KMTQ3MzksICcyMDEwLTAxLTI5IDEwOjEzOjM3Jw0KMTQ3MzgsICcyMDEwLTAx LTI5IDEwOjEzOjM3Jw0KMTQ3MzcsICcyMDEwLTAxLTI5IDEwOjEzOjM3Jw0KMTQ3MzYsICcyMDEw LTAxLTI5IDEwOjEzOjM3Jw0KDQpraW5kIHJlZ2FyZHMNCg0KSGVuZHJpayBXb2x0ZXJzZG9yZg0K WENPTSBBRw0KVGVsLjogMDM3NS8yNzAwOC01ODANClRlbC4gbW9iaWw6IDAxNzgvNTcxMDA3OA0K RW1haWw6IEhlbmRyaWsuV29sdGVyc2RvcmZAeGNvbS5kZQ0KDQoNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IA0KICAgICAgICAgICAgIE1hcnRpbiBTa29sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgPE1hcnRpbi5Ta29sZEBTdW4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAu Q09NPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFuIA0KICAgICAgICAgICAgIEdlc2VuZGV0IHZvbjogICAgICAgICAgICAgIEhlbmRyaWsgV29s dGVyc2RvcmYgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgTWFydGluLlNrb2xkQFN1bi4g ICAgICAgICAgPGhlbmRyaWsud29sdGVyc2RvcmZAeGNvbS5kZT4gICAgICANCiAgICAgICAgICAg ICBDT00gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEtvcGllIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsdXN0ZXJA bGlzdHMubXlzcWwuY29tICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVtYSANCiAgICAgICAg ICAgICAyOS4wMS4yMDEwIDExOjEzICAgICAgICAgICBSZTogaG93dG8gaW1wbGVtZW50IGEgZmlm byBxdWV1ZSAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIE15 U1FMIENsdXN0ZXIgPyAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQoNCg0KDQoNCkhpIQ0KDQpBdXRv aW5jcmVtZW50IHZhbHVlcyBhcmUgaW5zZXJ0ZWQgaW4gb3JkZXIsIGJ1dCB3ZSBwcmVmZXRjaA0K c2VyaWVzIG9mIHZhbHVlcyB0byBnZXQgYmV0dGVyIHBlcmZvcm1hbmNlLiBTbyBpZiB5b3UgYXJl DQppbnNlcnRpbmcgZnJvbSBzZXZlcmFsIGNvbm5lY3Rpb25zIChvciBteXNxbGQncykgeW91IHdp bGwNCm5vdCBnZXQgYSB0b3RhbCBvcmRlcmluZy4gSWYgeW91IHdhbnQgdGhhdCB5b3UgY2FuIHNl dA0KbmRiX2F1dG9pbmNyZW1lbnRfcHJlZmV0Y2hfc3ogdG8gMSBzaG91bGQgZm9yY2Ugb3JkZXIu DQpUaGlzIHdpbGwsIGhvd2V2ZXIsIGRlZ3JhZGUgcGVyZm9ybWFuY2UgZm9yIGluc2VydHMuDQoN CkJSDQotLSBNYXJ0aW4NCkhlbmRyaWsgV29sdGVyc2RvcmYgd3JvdGU6DQo+IEhpIGFsbCwNCj4N Cj4gaG93IGRvIEkgaW1wbGVtZW50IGEgZmlmbyBxdWV1ZSBpbiBNeVNRTCBDbHVzdGVyID8NCj4N Cj4gV2hhdCBJIHdhbnQgdG8gZG86DQo+DQo+IEkgd3JpdGUgaW5zZXJ0cyBhbmQgdXBkYXRlcyB0 byBzb21lIHRhYmxlcyB3aXRoIHRyaWdnZXJzIGludG8gYSBxdWV1ZS4NCj4gVGhlc2Ugcm93cyBo YXZlIHRvIGJlIHJlYWQgYW5kIHByb2Nlc3NlZCBpbiBjaHJvbm9sb2dpY2FsIG9yZGVyLg0KPiBN eSBmaXJzdCBhdHRlbXB0IHdhcyB0byB1c2UgYSB0YWJsZSB3aXRoIGFuIGF1dG9pbmNyZW1lbnQg Y29sdW1uIGFzIHRoZQ0KPiBwcmltYXJ5IGtleS4gQnV0IHRlc3RzIHNob3csIHRoYXQgdGhlc2Ug YXV0b2luY3JlbWVudCB2YWx1ZXMgYXJlIG5vdA0KPiBpbnNlcnRlZCBpbiBjaHJvbm9sb2dpY2Fs IG9yZGVyLiBBIGRhdGV0aW1lIGNvbHVtbiBkb2VzIG5vdCBoZWxwIGVpdGhlciwNCj4gYmVjYXVz ZSBpdCBpcyBieSBmYXIgbm90IHByZWNpc2UgZW5vdWdoLCBhbmQgaXQgZGVwZW5kcyBvbiB0aGUN Cj4gc3luY2hyb25pemF0aW9uIG9mIHRoZSBjbG9ja3Mgb2YgdGhlIGRpZmZlcmVudCBzcWwgbm9k ZSBtYWNoaW5lcy4NCj4NCj4gQW55IGlkZWFzLCBob3cgdG8gcmVhZCB0aGVzZSBkYXRhIHJvd3Mg aW4gY2hyb25vbG9naWNhbCBvcmRlciA/DQo+DQo+IFRoZSBzZWNvbmQgYmVzdCBpZGVhIGlzLCB0 byB1c2UgInNlbGVjdCBtYXgoUEspKzEiLCBidXQgdGhpcyB3aWxsIGNhdXNlDQo+IGxvdHMgb2Yg ZHVwbGljYXRlIGtleSBlcnJvcnMuDQo+DQo+IEkgYW0gdXNpbmcgTXlTUUwgQ2x1c3RlciB2ZXJz aW9uIDcuMC43IHdpdGggMiBkYXRhIG5vZGVzLCAyIG1hbmFnZW1lbnQNCj4gbm9kZXMgYW5kIDIg c3FsIG5vZGVzLg0KPg0KPiBraW5kIHJlZ2FyZHMNCj4NCj4gSGVuZHJpayBXb2x0ZXJzZG9yZg0K PiBYQ09NIEFHDQo+IFRlbC46IDAzNzUvMjcwMDgtNTgwDQo+IFRlbC4gbW9iaWw6IDAxNzgvNTcx MDA3OA0KPiBFbWFpbDogSGVuZHJpay5Xb2x0ZXJzZG9yZkB4Y29tLmRlDQo+DQo+DQo+DQo+ICoq KiBYQ09NIEFHIExlZ2FsIERpc2NsYWltZXIgKioqDQo+DQo+IERpZXNlIEUtTWFpbCBlaW5zY2hs aWVzc2xpY2ggaWhyZXIgQW5oYWVuZ2UgaXN0IHZlcnRyYXVsaWNoIHVuZCBpc3QNCmFsbGVpbg0K PiBm/HIgZGVuIEdlYnJhdWNoIGR1cmNoIGRlbiB2b3JnZXNlaGVuZW4gRW1wZmFlbmdlciBiZXN0 aW1tdC4gRHJpdHRlbiBpc3QNCj4gZGFzIExlc2VuLCBWZXJ0ZWlsZW4gb2RlciBXZWl0ZXJsZWl0 ZW4gZGllc2VyIEUtTWFpbCB1bnRlcnNhZ3QuIFdpcg0KYml0dGVuLA0KPiBlaW5lIGZlaGxnZWxl aXRldGUgRS1NYWlsIHVudmVyenVlZ2xpY2ggdm9sbHN0YWVuZGlnIHp1IGxvZXNjaGVuIHVuZCB1 bnMNCj4gZWluZSBOYWNocmljaHQgenVrb21tZW4genUgbGFzc2VuLg0KPg0KPiBUaGlzIGVtYWls IG1heSBjb250YWluIG1hdGVyaWFsIHRoYXQgaXMgY29uZmlkZW50aWFsIGFuZCBmb3IgdGhlIHNv bGUgdXNlDQo+IG9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQuIEFueSByZXZpZXcsIGRpc3RyaWJ1 dGlvbiBieSBvdGhlcnMgb3INCmZvcndhcmRpbmcNCj4gd2l0aG91dCBleHByZXNzIHBlcm1pc3Np b24gaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGFyZSBub3QgdGhlDQo+IGludGVuZGVk IHJlY2lwaWVudCwgcGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGFsbCBjb3Bp ZXMuDQo+DQo+IEhhdXB0c2l0ejogQmFobnN0cmFzc2UgMzcsIEQtNDc4NzcgV2lsbGljaCwgVVN0 LUlkTnIuOiBERSA4MTIgODg1IDY2NA0KPiBLb21tdW5pa2F0aW9uOiBUZWxlZm9uICs0OSAyMTU0 IDkyMDktNzAsIFRlbGVmYXggKzQ5IDIxNTQgOTIwOS05MDAsDQo+IHd3dy54Y29tLmRlDQo+IEhh bmRlbHNyZWdpc3RlcjogQW10c2dlcmljaHQgS3JlZmVsZCwgSFJCIDEwMzQwDQo+IFZvcnN0YW5k OiBNYXR0aGlhcyBBbGJyZWNodCwgTWFyY28gTWFydHksIERyLiBSYWluZXIgRnVjaHMsIERpcmsg V2VybmVyDQo+IFZvcnNpdHplbmRlciBkZXMgQXVmc2ljaHRzcmF0ZXM6IFN0ZWZhbiBILiBUYXJh Y2gNCg0KLS0NCk15U1FMIENsdXN0ZXIgTWFpbGluZyBMaXN0DQpGb3IgbGlzdCBhcmNoaXZlczog aHR0cDovL2xpc3RzLm15c3FsLmNvbS9jbHVzdGVyDQpUbyB1bnN1YnNjcmliZToNCmh0dHA6Ly9s aXN0cy5teXNxbC5jb20vY2x1c3Rlcj91bnN1Yj1IZW5kcmlrLldvbHRlcnNkb3JmQHhjb20uZGUN Cg0KDQoNCg0KDQoNCioqKiBYQ09NIEFHIExlZ2FsIERpc2NsYWltZXIgKioqDQoNCkRpZXNlIEUt TWFpbCBlaW5zY2hsaWVzc2xpY2ggaWhyZXIgQW5oYWVuZ2UgaXN0IHZlcnRyYXVsaWNoIHVuZCBp c3QgYWxsZWluDQpm/HIgZGVuIEdlYnJhdWNoIGR1cmNoIGRlbiB2b3JnZXNlaGVuZW4gRW1wZmFl bmdlciBiZXN0aW1tdC4gRHJpdHRlbiBpc3QNCmRhcyBMZXNlbiwgVmVydGVpbGVuIG9kZXIgV2Vp dGVybGVpdGVuIGRpZXNlciBFLU1haWwgdW50ZXJzYWd0LiBXaXIgYml0dGVuLA0KZWluZSBmZWhs Z2VsZWl0ZXRlIEUtTWFpbCB1bnZlcnp1ZWdsaWNoIHZvbGxzdGFlbmRpZyB6dSBsb2VzY2hlbiB1 bmQgdW5zDQplaW5lIE5hY2hyaWNodCB6dWtvbW1lbiB6dSBsYXNzZW4uDQoNClRoaXMgZW1haWwg bWF5IGNvbnRhaW4gbWF0ZXJpYWwgdGhhdCBpcyBjb25maWRlbnRpYWwgYW5kIGZvciB0aGUgc29s ZSB1c2UNCm9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQuIEFueSByZXZpZXcsIGRpc3RyaWJ1dGlv biBieSBvdGhlcnMgb3IgZm9yd2FyZGluZw0Kd2l0aG91dCBleHByZXNzIHBlcm1pc3Npb24gaXMg c3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGFyZSBub3QgdGhlDQppbnRlbmRlZCByZWNpcGll bnQsIHBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSBhbGwgY29waWVzLg0KDQpI YXVwdHNpdHo6IEJhaG5zdHJhc3NlIDM3LCBELTQ3ODc3IFdpbGxpY2gsIFVTdC1JZE5yLjogREUg ODEyIDg4NSA2NjQNCktvbW11bmlrYXRpb246IFRlbGVmb24gKzQ5IDIxNTQgOTIwOS03MCwgVGVs ZWZheCArNDkgMjE1NCA5MjA5LTkwMCwNCnd3dy54Y29tLmRlDQpIYW5kZWxzcmVnaXN0ZXI6IEFt dHNnZXJpY2h0IEtyZWZlbGQsIEhSQiAxMDM0MA0KVm9yc3RhbmQ6IE1hdHRoaWFzIEFsYnJlY2h0 LCBNYXJjbyBNYXJ0eSwgRHIuIFJhaW5lciBGdWNocywgRGlyayBXZXJuZXINClZvcnNpdHplbmRl ciBkZXMgQXVmc2ljaHRzcmF0ZXM6IFN0ZWZhbiBILiBUYXJhY2g= --1__=4EBBFC29DFABEC4A8f9e8a93df938690918c4EBBFC29DFABEC4A Content-type: text/html; charset=ISO-8859-15 Content-Disposition: inline Content-transfer-encoding: base64 PGh0bWw+PGJvZHk+DQo8cD5IaSw8YnI+DQo8YnI+DQpJIGhhdmUgYWxyZWFkeSBzZXQgbmRiX2F1 dG9pbmNyZW1lbnRfcHJlZmV0Y2hfc3ogdG8gMS4gSXQgZG9lcyBub3QgZm9yY2Ugb3JkZXIuPGJy Pg0KV2hhdCBJIGdldCBpcyB0aGlzOjxicj4NCjxicj4NCklEICAgICAgICBEQVRFX0lOU0VSVDxi cj4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQoxNDc1NywgJzIw MTAtMDEtMjkgMTA6MTU6NTEnPGJyPg0KMTQ3NTYsICcyMDEwLTAxLTI5IDEwOjE1OjUwJzxicj4N CjE0NzU1LCAnMjAxMC0wMS0yOSAxMDoxNTo1MCc8YnI+DQoxNDcyMSwgJzIwMTAtMDEtMjkgMTA6 MTU6NTAnPGJyPg0KMTQ3MjAsICcyMDEwLTAxLTI5IDEwOjE1OjUwJzxicj4NCjE0NzE5LCAnMjAx MC0wMS0yOSAxMDoxNTo1MCc8YnI+DQoxNDczOSwgJzIwMTAtMDEtMjkgMTA6MTM6MzcnPGJyPg0K MTQ3MzgsICcyMDEwLTAxLTI5IDEwOjEzOjM3Jzxicj4NCjE0NzM3LCAnMjAxMC0wMS0yOSAxMDox MzozNyc8YnI+DQoxNDczNiwgJzIwMTAtMDEtMjkgMTA6MTM6MzcnPGJyPg0KPGJyPg0Ka2luZCBy ZWdhcmRzPGJyPg0KPGJyPg0KSGVuZHJpayBXb2x0ZXJzZG9yZjxicj4NClhDT00gQUc8YnI+DQpU ZWwuOiAwMzc1LzI3MDA4LTU4MDxicj4NClRlbC4gbW9iaWw6IDAxNzgvNTcxMDA3ODxicj4NCkVt YWlsOiBIZW5kcmlrLldvbHRlcnNkb3JmQHhjb20uZGU8YnI+DQo8YnI+DQo8aW1nIHdpZHRoPSIx NiIgaGVpZ2h0PSIxNiIgc3JjPSJjaWQ6MV9fPTRFQkJGQzI5REZBQkVDNEE4ZjllOGE5M2RmOTM4 NjkwQHhjb20uZGUiIGJvcmRlcj0iMCIgYWx0PSJJbmFjdGl2ZSBoaWRlIGRldGFpbHMgZm9yIE1h cnRpbiBTa29sZCAtLS0yOS4wMS4yMDEwIDExOjE0OjU4LS0tSGkhIj48Zm9udCBjb2xvcj0iIzQy NDI4MiI+TWFydGluIFNrb2xkIC0tLTI5LjAxLjIwMTAgMTE6MTQ6NTgtLS1IaSE8L2ZvbnQ+PGJy Pg0KPGJyPg0KDQo8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjAi IGNlbGxwYWRkaW5nPSIwIj4NCjx0ciB2YWxpZ249InRvcCI+PHRkIHN0eWxlPSJiYWNrZ3JvdW5k LWltYWdlOnVybChjaWQ6Ml9fPTRFQkJGQzI5REZBQkVDNEE4ZjllOGE5M2RmOTM4NjkwQHhjb20u ZGUpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAiIHdpZHRoPSI0MCUiPg0KPHVsPg0K PHVsPg0KPHVsPg0KPHVsPjxiPjxmb250IHNpemU9IjIiPk1hcnRpbiBTa29sZCAmbHQ7TWFydGlu LlNrb2xkQFN1bi5DT00mZ3Q7PC9mb250PjwvYj48Zm9udCBzaXplPSIyIj4gPC9mb250Pjxicj4N Cjxmb250IHNpemU9IjIiPkdlc2VuZGV0IHZvbjogTWFydGluLlNrb2xkQFN1bi5DT008L2ZvbnQ+ DQo8cD48Zm9udCBzaXplPSIyIj4yOS4wMS4yMDEwIDExOjEzPC9mb250PjwvdWw+DQo8L3VsPg0K PC91bD4NCjwvdWw+DQo8L3RkPjx0ZCB3aWR0aD0iNjAlIj4NCjx0YWJsZSB3aWR0aD0iMTAwJSIg Ym9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KPHRyIHZhbGlnbj0i dG9wIj48dGQgd2lkdGg9IjElIiB2YWxpZ249Im1pZGRsZSI+PGltZyB3aWR0aD0iNjMiIGhlaWdo dD0iMSIgc3JjPSJjaWQ6M19fPTRFQkJGQzI5REZBQkVDNEE4ZjllOGE5M2RmOTM4NjkwQHhjb20u ZGUiIGJvcmRlcj0iMCIgYWx0PSIiPjxicj4NCjxkaXYgYWxpZ249InJpZ2h0Ij48Zm9udCBzaXpl PSIyIj5BbjwvZm9udD48L2Rpdj48L3RkPjx0ZCB3aWR0aD0iMTAwJSI+PGltZyB3aWR0aD0iMSIg aGVpZ2h0PSIxIiBzcmM9ImNpZDozX189NEVCQkZDMjlERkFCRUM0QThmOWU4YTkzZGY5Mzg2OTBA eGNvbS5kZSIgYm9yZGVyPSIwIiBhbHQ9IiI+PGJyPg0KPGZvbnQgc2l6ZT0iMiI+SGVuZHJpayBX b2x0ZXJzZG9yZiAmbHQ7aGVuZHJpay53b2x0ZXJzZG9yZkB4Y29tLmRlJmd0OzwvZm9udD48L3Rk PjwvdHI+DQoNCjx0ciB2YWxpZ249InRvcCI+PHRkIHdpZHRoPSIxJSIgdmFsaWduPSJtaWRkbGUi PjxpbWcgd2lkdGg9IjYzIiBoZWlnaHQ9IjEiIHNyYz0iY2lkOjNfXz00RUJCRkMyOURGQUJFQzRB OGY5ZThhOTNkZjkzODY5MEB4Y29tLmRlIiBib3JkZXI9IjAiIGFsdD0iIj48YnI+DQo8ZGl2IGFs aWduPSJyaWdodCI+PGZvbnQgc2l6ZT0iMiI+S29waWU8L2ZvbnQ+PC9kaXY+PC90ZD48dGQgd2lk dGg9IjEwMCUiPjxpbWcgd2lkdGg9IjEiIGhlaWdodD0iMSIgc3JjPSJjaWQ6M19fPTRFQkJGQzI5 REZBQkVDNEE4ZjllOGE5M2RmOTM4NjkwQHhjb20uZGUiIGJvcmRlcj0iMCIgYWx0PSIiPjxicj4N Cjxmb250IHNpemU9IjIiPmNsdXN0ZXJAbGlzdHMubXlzcWwuY29tPC9mb250PjwvdGQ+PC90cj4N Cg0KPHRyIHZhbGlnbj0idG9wIj48dGQgd2lkdGg9IjElIiB2YWxpZ249Im1pZGRsZSI+PGltZyB3 aWR0aD0iNjMiIGhlaWdodD0iMSIgc3JjPSJjaWQ6M19fPTRFQkJGQzI5REZBQkVDNEE4ZjllOGE5 M2RmOTM4NjkwQHhjb20uZGUiIGJvcmRlcj0iMCIgYWx0PSIiPjxicj4NCjxkaXYgYWxpZ249InJp Z2h0Ij48Zm9udCBzaXplPSIyIj5UaGVtYTwvZm9udD48L2Rpdj48L3RkPjx0ZCB3aWR0aD0iMTAw JSI+PGltZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBzcmM9ImNpZDozX189NEVCQkZDMjlERkFCRUM0 QThmOWU4YTkzZGY5Mzg2OTBAeGNvbS5kZSIgYm9yZGVyPSIwIiBhbHQ9IiI+PGJyPg0KPGZvbnQg c2l6ZT0iMiI+UmU6IGhvd3RvIGltcGxlbWVudCBhIGZpZm8gcXVldWUgaW4gTXlTUUwgQ2x1c3Rl ciA/PC9mb250PjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCjx0YWJsZSBib3JkZXI9IjAiIGNlbGxz cGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCI+DQo8dHIgdmFsaWduPSJ0b3AiPjx0ZCB3aWR0aD0i NTgiPjxpbWcgd2lkdGg9IjEiIGhlaWdodD0iMSIgc3JjPSJjaWQ6M19fPTRFQkJGQzI5REZBQkVD NEE4ZjllOGE5M2RmOTM4NjkwQHhjb20uZGUiIGJvcmRlcj0iMCIgYWx0PSIiPjwvdGQ+PHRkIHdp ZHRoPSIzMzYiPjxpbWcgd2lkdGg9IjEiIGhlaWdodD0iMSIgc3JjPSJjaWQ6M19fPTRFQkJGQzI5 REZBQkVDNEE4ZjllOGE5M2RmOTM4NjkwQHhjb20uZGUiIGJvcmRlcj0iMCIgYWx0PSIiPjwvdGQ+ PC90cj4NCjwvdGFibGU+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPg0KPGJyPg0KPHR0PkhpITxicj4N Cjxicj4NCkF1dG9pbmNyZW1lbnQgdmFsdWVzIGFyZSBpbnNlcnRlZCBpbiBvcmRlciwgYnV0IHdl IHByZWZldGNoPGJyPg0Kc2VyaWVzIG9mIHZhbHVlcyB0byBnZXQgYmV0dGVyIHBlcmZvcm1hbmNl LiBTbyBpZiB5b3UgYXJlPGJyPg0KaW5zZXJ0aW5nIGZyb20gc2V2ZXJhbCBjb25uZWN0aW9ucyAo b3IgbXlzcWxkJ3MpIHlvdSB3aWxsPGJyPg0Kbm90IGdldCBhIHRvdGFsIG9yZGVyaW5nLiBJZiB5 b3Ugd2FudCB0aGF0IHlvdSBjYW4gc2V0PGJyPg0KbmRiX2F1dG9pbmNyZW1lbnRfcHJlZmV0Y2hf c3ogdG8gMSBzaG91bGQgZm9yY2Ugb3JkZXIuPGJyPg0KVGhpcyB3aWxsLCBob3dldmVyLCBkZWdy YWRlIHBlcmZvcm1hbmNlIGZvciBpbnNlcnRzLjxicj4NCjxicj4NCkJSPGJyPg0KLS0gTWFydGlu PGJyPg0KSGVuZHJpayBXb2x0ZXJzZG9yZiB3cm90ZTo8YnI+DQomZ3Q7IEhpIGFsbCw8YnI+DQom Z3Q7IDxicj4NCiZndDsgaG93IGRvIEkgaW1wbGVtZW50IGEgZmlmbyBxdWV1ZSBpbiBNeVNRTCBD bHVzdGVyID88YnI+DQomZ3Q7IDxicj4NCiZndDsgV2hhdCBJIHdhbnQgdG8gZG86PGJyPg0KJmd0 OyA8YnI+DQomZ3Q7IEkgd3JpdGUgaW5zZXJ0cyBhbmQgdXBkYXRlcyB0byBzb21lIHRhYmxlcyB3 aXRoIHRyaWdnZXJzIGludG8gYSBxdWV1ZS48YnI+DQomZ3Q7IFRoZXNlIHJvd3MgaGF2ZSB0byBi ZSByZWFkIGFuZCBwcm9jZXNzZWQgaW4gY2hyb25vbG9naWNhbCBvcmRlci48YnI+DQomZ3Q7IE15 IGZpcnN0IGF0dGVtcHQgd2FzIHRvIHVzZSBhIHRhYmxlIHdpdGggYW4gYXV0b2luY3JlbWVudCBj b2x1bW4gYXMgdGhlPGJyPg0KJmd0OyBwcmltYXJ5IGtleS4gQnV0IHRlc3RzIHNob3csIHRoYXQg dGhlc2UgYXV0b2luY3JlbWVudCB2YWx1ZXMgYXJlIG5vdDxicj4NCiZndDsgaW5zZXJ0ZWQgaW4g Y2hyb25vbG9naWNhbCBvcmRlci4gQSBkYXRldGltZSBjb2x1bW4gZG9lcyBub3QgaGVscCBlaXRo ZXIsPGJyPg0KJmd0OyBiZWNhdXNlIGl0IGlzIGJ5IGZhciBub3QgcHJlY2lzZSBlbm91Z2gsIGFu ZCBpdCBkZXBlbmRzIG9uIHRoZTxicj4NCiZndDsgc3luY2hyb25pemF0aW9uIG9mIHRoZSBjbG9j a3Mgb2YgdGhlIGRpZmZlcmVudCBzcWwgbm9kZSBtYWNoaW5lcy48YnI+DQomZ3Q7IDxicj4NCiZn dDsgQW55IGlkZWFzLCBob3cgdG8gcmVhZCB0aGVzZSBkYXRhIHJvd3MgaW4gY2hyb25vbG9naWNh bCBvcmRlciA/PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRoZSBzZWNvbmQgYmVzdCBpZGVhIGlzLCB0 byB1c2UgJnF1b3Q7c2VsZWN0IG1heChQSykrMSZxdW90OywgYnV0IHRoaXMgd2lsbCBjYXVzZTxi cj4NCiZndDsgbG90cyBvZiBkdXBsaWNhdGUga2V5IGVycm9ycy48YnI+DQomZ3Q7IDxicj4NCiZn dDsgSSBhbSB1c2luZyBNeVNRTCBDbHVzdGVyIHZlcnNpb24gNy4wLjcgd2l0aCAyIGRhdGEgbm9k ZXMsIDIgbWFuYWdlbWVudDxicj4NCiZndDsgbm9kZXMgYW5kIDIgc3FsIG5vZGVzLjxicj4NCiZn dDsgPGJyPg0KJmd0OyBraW5kIHJlZ2FyZHM8YnI+DQomZ3Q7IDxicj4NCiZndDsgSGVuZHJpayBX b2x0ZXJzZG9yZjxicj4NCiZndDsgWENPTSBBRzxicj4NCiZndDsgVGVsLjogMDM3NS8yNzAwOC01 ODA8YnI+DQomZ3Q7IFRlbC4gbW9iaWw6IDAxNzgvNTcxMDA3ODxicj4NCiZndDsgRW1haWw6IEhl bmRyaWsuV29sdGVyc2RvcmZAeGNvbS5kZTxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 IDxicj4NCiZndDsgKioqIFhDT00gQUcgTGVnYWwgRGlzY2xhaW1lciAqKio8YnI+DQomZ3Q7IDxi cj4NCiZndDsgRGllc2UgRS1NYWlsIGVpbnNjaGxpZXNzbGljaCBpaHJlciBBbmhhZW5nZSBpc3Qg dmVydHJhdWxpY2ggdW5kIGlzdCBhbGxlaW48YnI+DQomZ3Q7IGb8ciBkZW4gR2VicmF1Y2ggZHVy Y2ggZGVuIHZvcmdlc2VoZW5lbiBFbXBmYWVuZ2VyIGJlc3RpbW10LiBEcml0dGVuIGlzdDxicj4N CiZndDsgZGFzIExlc2VuLCBWZXJ0ZWlsZW4gb2RlciBXZWl0ZXJsZWl0ZW4gZGllc2VyIEUtTWFp bCB1bnRlcnNhZ3QuIFdpciBiaXR0ZW4sPGJyPg0KJmd0OyBlaW5lIGZlaGxnZWxlaXRldGUgRS1N YWlsIHVudmVyenVlZ2xpY2ggdm9sbHN0YWVuZGlnIHp1IGxvZXNjaGVuIHVuZCB1bnM8YnI+DQom Z3Q7IGVpbmUgTmFjaHJpY2h0IHp1a29tbWVuIHp1IGxhc3Nlbi48YnI+DQomZ3Q7IDxicj4NCiZn dDsgVGhpcyBlbWFpbCBtYXkgY29udGFpbiBtYXRlcmlhbCB0aGF0IGlzIGNvbmZpZGVudGlhbCBh bmQgZm9yIHRoZSBzb2xlIHVzZTxicj4NCiZndDsgb2YgdGhlIGludGVuZGVkIHJlY2lwaWVudC4g QW55IHJldmlldywgZGlzdHJpYnV0aW9uIGJ5IG90aGVycyBvciBmb3J3YXJkaW5nPGJyPg0KJmd0 OyB3aXRob3V0IGV4cHJlc3MgcGVybWlzc2lvbiBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiBJZiB5 b3UgYXJlIG5vdCB0aGU8YnI+DQomZ3Q7IGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIGNvbnRh Y3QgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGFsbCBjb3BpZXMuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7 IEhhdXB0c2l0ejogQmFobnN0cmFzc2UgMzcsIEQtNDc4NzcgV2lsbGljaCwgVVN0LUlkTnIuOiBE RSA4MTIgODg1IDY2NDxicj4NCiZndDsgS29tbXVuaWthdGlvbjogVGVsZWZvbiArNDkgMjE1NCA5 MjA5LTcwLCBUZWxlZmF4ICs0OSAyMTU0IDkyMDktOTAwLDxicj4NCiZndDsgPC90dD48dHQ+d3d3 Lnhjb20uZGU8L3R0Pjx0dD48YnI+DQomZ3Q7IEhhbmRlbHNyZWdpc3RlcjogQW10c2dlcmljaHQg S3JlZmVsZCwgSFJCIDEwMzQwPGJyPg0KJmd0OyBWb3JzdGFuZDogTWF0dGhpYXMgQWxicmVjaHQs IE1hcmNvIE1hcnR5LCBEci4gUmFpbmVyIEZ1Y2hzLCBEaXJrIFdlcm5lcjxicj4NCiZndDsgVm9y c2l0emVuZGVyIGRlcyBBdWZzaWNodHNyYXRlczogU3RlZmFuIEguIFRhcmFjaDxicj4NCjxicj4N Ci0tIDxicj4NCk15U1FMIENsdXN0ZXIgTWFpbGluZyBMaXN0PGJyPg0KRm9yIGxpc3QgYXJjaGl2 ZXM6IDwvdHQ+PHR0PjxhIGhyZWY9Imh0dHA6Ly9saXN0cy5teXNxbC5jb20vY2x1c3RlciI+aHR0 cDovL2xpc3RzLm15c3FsLmNvbS9jbHVzdGVyPC9hPjwvdHQ+PHR0Pjxicj4NClRvIHVuc3Vic2Ny aWJlOiAmbmJzcDsgJm5ic3A7PC90dD48dHQ+PGEgaHJlZj0iaHR0cDovL2xpc3RzLm15c3FsLmNv bS9jbHVzdGVyP3Vuc3ViPUhlbmRyaWsuV29sdGVyc2RvcmZAeGNvbS5kZSI+aHR0cDovL2xpc3Rz Lm15c3FsLmNvbS9jbHVzdGVyP3Vuc3ViPUhlbmRyaWsuV29sdGVyc2RvcmZAeGNvbS5kZTwvYT48 L3R0Pjx0dD48YnI+DQo8YnI+DQo8L3R0Pjxicj4NCjxicj4NCjxicj4NCjxicj4NCjxicj4NCioq KiBYQ09NIEFHIExlZ2FsIERpc2NsYWltZXIgKioqPGJyPg0KPGJyPg0KRGllc2UgRS1NYWlsIGVp bnNjaGxpZXNzbGljaCBpaHJlciBBbmhhZW5nZSBpc3QgdmVydHJhdWxpY2ggdW5kIGlzdCBhbGxl aW4gZvxyIGRlbiBHZWJyYXVjaCBkdXJjaCBkZW4gdm9yZ2VzZWhlbmVuIEVtcGZhZW5nZXIgYmVz dGltbXQuIERyaXR0ZW4gaXN0IGRhcyBMZXNlbiwgVmVydGVpbGVuIG9kZXIgV2VpdGVybGVpdGVu IGRpZXNlciBFLU1haWwgdW50ZXJzYWd0LiBXaXIgYml0dGVuLCBlaW5lIGZlaGxnZWxlaXRldGUg RS1NYWlsIHVudmVyenVlZ2xpY2ggdm9sbHN0YWVuZGlnIHp1IGxvZXNjaGVuIHVuZCB1bnMgZWlu ZSBOYWNocmljaHQgenVrb21tZW4genUgbGFzc2VuLjxicj4NCjxicj4NClRoaXMgZW1haWwgbWF5 IGNvbnRhaW4gbWF0ZXJpYWwgdGhhdCBpcyBjb25maWRlbnRpYWwgYW5kIGZvciB0aGUgc29sZSB1 c2Ugb2YgdGhlIGludGVuZGVkIHJlY2lwaWVudC4gQW55IHJldmlldywgZGlzdHJpYnV0aW9uIGJ5 IG90aGVycyBvciBmb3J3YXJkaW5nIHdpdGhvdXQgZXhwcmVzcyBwZXJtaXNzaW9uIGlzIHN0cmlj dGx5IHByb2hpYml0ZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBs ZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSBhbGwgY29waWVzLjxicj4NCjxicj4N CkhhdXB0c2l0ejogQmFobnN0cmFzc2UgMzcsIEQtNDc4NzcgV2lsbGljaCwgVVN0LUlkTnIuOiBE RSA4MTIgODg1IDY2NDxicj4NCktvbW11bmlrYXRpb246IFRlbGVmb24gKzQ5IDIxNTQgOTIwOS03 MCwgVGVsZWZheCArNDkgMjE1NCA5MjA5LTkwMCwgd3d3Lnhjb20uZGU8YnI+DQpIYW5kZWxzcmVn aXN0ZXI6IEFtdHNnZXJpY2h0IEtyZWZlbGQsIEhSQiAxMDM0MDxicj4NClZvcnN0YW5kOiBNYXR0 aGlhcyBBbGJyZWNodCwgTWFyY28gTWFydHksIERyLiBSYWluZXIgRnVjaHMsIERpcmsgV2VybmVy PGJyPg0KVm9yc2l0emVuZGVyIGRlcyBBdWZzaWNodHNyYXRlczogU3RlZmFuIEguIFRhcmFjaDxi cj4NCjwvYm9keT48L2h0bWw+ --1__=4EBBFC29DFABEC4A8f9e8a93df938690918c4EBBFC29DFABEC4A-- --0__=4EBBFC29DFABEC4A8f9e8a93df938690918c4EBBFC29DFABEC4A--