Re: [Lcms-user] RGB to CMYK uing Delphi
An ICC-based CMM for color management
Brought to you by:
mm2
From: Ran R. <ra...@sa...> - 2008-01-11 12:26:48
|
SGksDQpUaGFua3MgZm9yIHRoZSBoZWxwLA0KSGVyZSBhcmUgc29tZSBtb3JlIGRldGFpbHM6DQpJ IGhhdmUgdHdvIGltYWdlIGNvbnRyb2xzIG9uIGEgZm9ybS4NCkknbSBsb2FkaW5nIGFuIFJHQiBm aWxlIHRocm91Z2g6DQpJbWFnZTEucGljdHVyZS5Mb2FkRnJvbUZpbGUoKQ0KdGhlbiBJIHNldCB0 aGUgcGl4ZWxmb3JtYXQgdG8gMjRiaXQNCkkgaGF2ZSBhbiBJbWFnZTIgYXMgd2VsbGwgd2hpY2gg SSBzZXQgdG8gMzJiaXQsIHRoaXMgaXMgaW50ZW5kZWQgdG8gaG9sZCBhbmQgc2hvdyB0aGUgaW1h Z2Ugb2YgdGhlIENNWUsNCnRoZW4gSSBzZXQgdGhlIHNpemUgKGluIHBpeGVscykgb2YgaW1hZ2Uy IHRvIGltYWdlMSBhcyBmb2xsb3c6DQpJbWFnZTIucGljdHVyZS5CaXRtYXAud2lkdGggOj0gSW1h Z2UyLnBpY3R1cmUuQml0bWFwLndpZHRoOyAgDQpJbWFnZTIucGljdHVyZS5CaXRtYXAuaGVpZ2h0 IDo9IEltYWdlMi5waWN0dXJlLkJpdG1hcC5oZWlnaHQ7DQogDQpmb3IgdGhlIHRyYW5zZm9ybSwg SSBvcGVuIGEgbG9jYWwgaW5wdXQgcHJvZmlsZSBmb3JtIHRoZSBzeXN0ZW0gZGlyZWN0b3J5LCBs aWtlIEFkb2JlIFJHQiwgZm9yIGRlc3RpbmF0aW9uIEkgb3BlbiBhbiBJQ0MgdGhhdCB3YXMgY3Jl YXRlZCBmb3IgYSBIUCBsYXJnZSBmb3JtYXQgcHJpbnRlciAoQ01ZSykNCiANCkkgbG9vcCB0aHJv dWdoIHNjYW5saW5lIGFzIGEgYnVmZmVyIHNvIHRoZSBhY3R1YWwgdHJhbnNmb3JtIGlzOg0KY21k RG9UcmFuc2Zvcm0oeGZvcm0sSW1hZ2UxLnBpY3R1cmUuQml0bWFwLlNjYW5MaW5lW2ldLHhmb3Jt LEltYWdlMi5waWN0dXJlLkJpdG1hcC5TY2FuTGluZVtpXSwgcGljVyk7DQogDQpBcyBJIG1lbnRp b25lZCwgdGhlIHRyYW5zZm9ybWF0aW9uIHdvcmtzIGJ1dCB3aGVuIEkgc2hvdyBJbWFnZTIgb24g YSBmb3JtLCBkZXBlbmRzIG9uIHRoZSBJQ0MsIHNvbWV0b21lIEkgZ2V0IHN0cmlwZXMgYW5kIG90 aGVyIHRpbWVzIGl0IHNlZW1zIGxpa2UgYSBuZWdhdGl2ZSBvZiBhIHBpY3R1cmUuDQpXaGVuIEkg dHJ5IHRvIHVzZSBjbXNDcmVhdGVwcm9vZmluZ1RyYW5zZm9ybSB3aGVyZSB0aGUgc291cmNlIGlz IEFkb2JlIFJHQiwgdGhlIGRlc3RpbmF0aW9uIGlzIHRoZSBzYW1lIGFuZCB0aGUgcHJvb2YgaXMg dGhlIENNWUsgaWNjIHRoYXQgSSB3YW50IHRvIHJlbmRlciwgSSBnZXQgYW4gZXJyb3IgdGhhdCB0 aGUgInRoZSBwcm9vZiBwcm9maWxlIGhhcyBub3QgcHJldmlld2luZyBjYXBhYmlsaXRpZXMiIGFs dGhvdWdoIHRoaXMgaXMgYW4gSUNDIHRoYXQgd2UgY3JlYXRlZCBhbmQgd29ya3MgZmluZS4NCiAN CkFueSBpZGVhcyB3aGF0IGlzIHRoYXQgSSdtIGRvaW5nIHdyb25nPw0KIA0KVGhhbmtzDQogDQpS YW4gICAgDQogIA0KDQoJLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0gDQoJRnJvbTogbGNtcy11 c2VyLWJvdW5jZXNAbGlzdHMuc291cmNlZm9yZ2UubmV0IG9uIGJlaGFsZiBvZiBsY21zLXVzZXIt cmVxdWVzdEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQgDQoJU2VudDogVGh1IDEvMTAvMjAwOCAxNTox MCANCglUbzogbGNtcy11c2VyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldCANCglDYzogDQoJU3ViamVj dDogTGNtcy11c2VyIERpZ2VzdCwgVm9sIDIwLCBJc3N1ZSA1DQoJDQoJDQoNCglTZW5kIExjbXMt dXNlciBtYWlsaW5nIGxpc3Qgc3VibWlzc2lvbnMgdG8NCgkgICAgICAgIGxjbXMtdXNlckBsaXN0 cy5zb3VyY2Vmb3JnZS5uZXQNCgkNCglUbyBzdWJzY3JpYmUgb3IgdW5zdWJzY3JpYmUgdmlhIHRo ZSBXb3JsZCBXaWRlIFdlYiwgdmlzaXQNCgkgICAgICAgIGh0dHBzOi8vbGlzdHMuc291cmNlZm9y Z2UubmV0L2xpc3RzL2xpc3RpbmZvL2xjbXMtdXNlcg0KCW9yLCB2aWEgZW1haWwsIHNlbmQgYSBt ZXNzYWdlIHdpdGggc3ViamVjdCBvciBib2R5ICdoZWxwJyB0bw0KCSAgICAgICAgbGNtcy11c2Vy LXJlcXVlc3RAbGlzdHMuc291cmNlZm9yZ2UubmV0DQoJDQoJWW91IGNhbiByZWFjaCB0aGUgcGVy c29uIG1hbmFnaW5nIHRoZSBsaXN0IGF0DQoJICAgICAgICBsY21zLXVzZXItb3duZXJAbGlzdHMu c291cmNlZm9yZ2UubmV0DQoJDQoJV2hlbiByZXBseWluZywgcGxlYXNlIGVkaXQgeW91ciBTdWJq ZWN0IGxpbmUgc28gaXQgaXMgbW9yZSBzcGVjaWZpYw0KCXRoYW4gIlJlOiBDb250ZW50cyBvZiBM Y21zLXVzZXIgZGlnZXN0Li4uIg0KCQ0KCQ0KCVRvZGF5J3MgVG9waWNzOg0KCQ0KCSAgIDEuIFJl OiBSR0IgdG8gQ01ZSyB1aW5nIERlbHBoaSAoSGFsIFYuIEVuZ2VsKQ0KCSAgIDIuIFJlOiBSR0Ig dG8gQ01ZSyB1c2luZyBEZWxwaGkgKEZyaWVkaGVsbSBLP25pZykNCgkgICAzLiBVbnNjYWxlZCBY WVogcHJvZmlsZSBjcmVhdGlvbiBtZWFzdXJlbWVudCBkYXRhDQoJICAgICAgKE1pY2hhZWwgQS4g TGl0c2NoZXIpDQoJDQoJDQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCQ0KCU1lc3NhZ2U6IDENCglEYXRlOiBX ZWQsIDkgSmFuIDIwMDggMTY6NDI6MTAgLTA4MDANCglGcm9tOiAiSGFsIFYuIEVuZ2VsIiA8aHZl bmdlbEBhc3RvdW5kLm5ldD4NCglTdWJqZWN0OiBSZTogW0xjbXMtdXNlcl0gUkdCIHRvIENNWUsg dWluZyBEZWxwaGkNCglUbzogbGNtcy11c2VyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KCU1lc3Nh Z2UtSUQ6IDwyMDA4MDEwOTE2NDIuMTA2OTEuaHZlbmdlbEBhc3RvdW5kLm5ldD4NCglDb250ZW50 LVR5cGU6IHRleHQvcGxhaW47ICBjaGFyc2V0PSJ1dGYtOCINCgkNCglPbiBXZWRuZXNkYXkgMDkg SmFudWFyeSAyMDA4IDAyOjE0OjA2IFJhbiBSb3ppbiB3cm90ZToNCgk+IEhpLA0KCT4NCgk+IEkg aGF2ZSBhIGJlZ2lubmVyIHF1ZXN0aW9uLg0KCT4NCgk+IEkgbG9hZCBhbiBSR0IgZmlsZSBhbmQg dHJ5IHRvIGFwcGx5IGEgcHJpbnRlciBDTVlLIHByb2ZpbGUgdXNpbmcNCgk+IGNtc0RvdGFybnNm b3JtIGFuZCBzY2FubGluZSBtZXRob2QgKEk/bSB1c2luZyBEZWxwaGkpLg0KCT4NCgk+IFRoZSBS R0IgdGhhdCBJIGxvYWQgaXMgc2V0IHRvIHBmMjRiaXQgYW5kIHRoZSBvdGhlciBpbWFnZSAod2hp Y2ggSSB3b3VsZA0KCT4gbGlrZSB0byBzaG93IGFmdGVyIHRoZSBjbXlrIHByb2ZpbGUgYXBwbGll ZCkgaXMgcGYzMmJpdC4NCgk+DQoJPiBJbiB0aGUgY21zQ3JlYXRlVHJhbnNmb3JtIEk/bSB1c2lu ZyBUWVBFX0JHUl84IGZvciB0aGUgc291cmNlIGFuZA0KCT4gVFlQRV9DbXlrXzggZm9yIHRoZSBk ZXN0aW5hdGlvbi4NCgk+DQoJPiBUaGUgaW1hZ2UgdGhhdCBJIGRyYXcgdG8gdGhlIHNjcmVlbiAo YWZ0ZXIgdGhlIHByb2ZpbGUpIGxvb2tzIGhvcnJpYmxlLCBzbw0KCT4gSSBrbm93IHRoYXQgYSB0 cmFuc2Zvcm1hdGlvbiB3YXMgbWFkZSBidXQgdGhlIGltYWdlIGxvb2tzIGxpa2UgYSBuZWdhdGl2 ZQ0KCT4gb2YgdGhlIGFjdHVhbCBzb3VyY2UuIEk/bSBwcm9iYWJseSBkb2luZyBzb21ldGhpbmcg d3JvbmcsIGJ1dCBJIGNhbj90IGZpbmQNCgk+IHdoYXQ/IE1heWJlIEkgaGF2ZSB0byB1c2UgdGhl IHByb29mIGZ1bmN0aW9uIGZvciBzdWNoIHRoaW5nLg0KCT4NCgk+DQoJPg0KCT4gTXkgcXVlc3Rp b24gaXMgPyB3aGF0IGFtIEkgZG9pbmcgd3Jvbmc/IERvIEkgbmVlZCBhIHNwZWNpZmljIHN0cnVj dCB0byBob2xkDQoJPiBDTVlLIG90aGVyIHRoYW4gdGhlIHBmMzJiaXQ/DQoJPg0KCT4NCgk+DQoJ PiBUaGFua3MNCgk+DQoJPg0KCT4NCgk+IFJhbg0KCQ0KCVlvdSBkb24ndCBzYXkgaG93IHlvdSBh cmUgZGlzcGxheWluZyB0aGUgaW1hZ2UuICBJIHN1c3BlY3QgdGhhdCBpdCBpcyBhbiBpc3N1ZQ0K CXdpdGggeW91ciB2aWV3ZXIuDQoJDQoJSGFsDQoJDQoJDQoJDQoJLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQoJDQoJTWVzc2FnZTogMg0KCURhdGU6IFRodSwgMTAgSmFuIDIwMDggMDg6 MDA6MTMg8amAlA0KCUZyb206IEZyaWVkaGVsbSBLP25pZyA8RnJpZWRoZWxtLktvZW5pZ0BvbmV2 aXNpb24uY29tPg0KCVN1YmplY3Q6IFJlOiBbTGNtcy11c2VyXSBSR0IgdG8gQ01ZSyB1c2luZyBE ZWxwaGkNCglUbzogbGNtcy11c2VyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KCU1lc3NhZ2UtSUQ6 DQoJICAgICAgICA8T0ZDRERGNjlGMy4yMTFGNEYwQi1PTkMxMjU3M0NDLjAwMjUzNUE4LUMxMjU3 M0NDLjAwMjY3OTBGQG9uZXZpc2lvbi5kZT4NCgkgICAgICAgDQoJQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOyBjaGFyc2V0PSJ1dGYtOCINCgkNCglIaSwNCgkNCglJIGFtIGd1ZXNzaW5nIGhlcmUs IGJ1dCBhcmUgeW91IHVzaW5nIEpQRyBpbWFnZXMgdG8gc3RvcmUgdGhlIENNWUsNCglyZXN1bHRz Pw0KCUlmIHNvLCB0aGUgcHJvYmxlbSBpcyBtb3N0IGxpa2VseSwgdGhhdCB0aGVyZSBpcyBubyBz dGFuZGFyZCB3YXkgdG8gc3RvcmUNCglDTVlLIHZhbHVlcyBpbiBhIEpHUC4gU29tZSBzb2Z0d2Fy ZSBwcm9kdWN0cyBzdG9yZSBCbGFjayBhcyAwLDAsMCwwLA0KCSh2YW5pbGxhIGVuY29kaW5nKSBv dGhlcnMgYXMgMjU1LCAyNTUsIDI1NSwgMjU1IChjaG9jb2xhdGUgZW5jb2RpbmcsIHVzaW5nDQoJ OCBiaXQpLg0KCVRoZSBjbG9zZXN0IHRoaW5nIHRvIGEgc3RhbmRhcmQgaXMgdXNpbmcgdmFuaWxs YSBlbmNvZGluZyBpZiBhbiBBZG9iZQ0KCW1hcmtlciBpcyBwcmVzZW50IGluIHRoZSBmaWxlLCBv ciBjaG9jb2xhdGUgb3RoZXJ3aXNlLiBJdCBpcyBwb3NzaWJsZSB0bw0KCXByb2R1Y2UgdGhlIG90 aGVyIGVuY29kaW5nIGJ5IGNoYW5naW5nIHRoZSBkZXN0aW5hdGlvbiBlbmNvZGluZyB0aHVzDQoJ Y29ycmVjdGluZyBmb3IgeW91ciBwcm9ibGVtLg0KCQ0KCVJlZ2FyZHMNCgkNCglpLkEuIERyLiBG cmllZGhlbG0gSz9uaWcNCgkNCglPbmVWaXNpb24gU29mdHdhcmUgRW50d2lja2x1bmdzIEdtYkgg JiBDby4gS0cNCglTZXJ2YXRpaXBsYXR6IDctOSA/IDQ4MTQzIE0/bnN0ZXINCglTaXR6IGRlciBH ZXNlbGxzY2hhZnQ6IFJlZ2Vuc2J1cmcNCglQZXJzP25saWNoIGhhZnRlbmRlIEdlc2VsbHNjaGFm dGVyaW46DQoJT25lVmlzaW9uIFNvZnR3YXJlIEVudHdpY2tsdW5ncyBWZXJ3YWx0dW5ncyBHbWJI DQoJRHIuLUxlby1SaXR0ZXItU3RyYXNzZSA5LCA5MzA0OSBSZWdlbnNidXJnDQoJU2l0eiBkZXIg R2VzZWxsc2NoYWZ0OiBSZWdlbnNidXJnDQoJSGFuZGVsc3JlZ2lzdGVyOiBIUkIgODkzMiwgQW10 c2dlcmljaHQgUmVnZW5zYnVyZw0KCUdlc2NoP2Z0c2Y/aHJlcjogVWxyaWtlIEQ/aGxlciwgTWFu dWVsYSBLbHVnZXINCgkNCgkNCgkNCgkiSGFsIFYuIEVuZ2VsIiA8aHZlbmdlbEBhc3RvdW5kLm5l dD4NCglTZW50IGJ5OiBsY21zLXVzZXItYm91bmNlc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQNCgkx MC4wMS4yMDA4IDAxOjQ1DQoJDQoJVG8NCglsY21zLXVzZXJAbGlzdHMuc291cmNlZm9yZ2UubmV0 DQoJY2MNCgkNCglTdWJqZWN0DQoJUmU6IFtMY21zLXVzZXJdIFJHQiB0byBDTVlLIHVpbmcgRGVs cGhpDQoJDQoJDQoJDQoJDQoJDQoJDQoJT24gV2VkbmVzZGF5IDA5IEphbnVhcnkgMjAwOCAwMjox NDowNiBSYW4gUm96aW4gd3JvdGU6DQoJPiBIaSwNCgk+DQoJPiBJIGhhdmUgYSBiZWdpbm5lciBx dWVzdGlvbi4NCgk+DQoJPiBJIGxvYWQgYW4gUkdCIGZpbGUgYW5kIHRyeSB0byBhcHBseSBhIHBy aW50ZXIgQ01ZSyBwcm9maWxlIHVzaW5nDQoJPiBjbXNEb3Rhcm5zZm9ybSBhbmQgc2NhbmxpbmUg bWV0aG9kIChJP20gdXNpbmcgRGVscGhpKS4NCgk+DQoJPiBUaGUgUkdCIHRoYXQgSSBsb2FkIGlz IHNldCB0byBwZjI0Yml0IGFuZCB0aGUgb3RoZXIgaW1hZ2UgKHdoaWNoIEkgd291bGQNCgk+IGxp a2UgdG8gc2hvdyBhZnRlciB0aGUgY215ayBwcm9maWxlIGFwcGxpZWQpIGlzIHBmMzJiaXQuDQoJ Pg0KCT4gSW4gdGhlIGNtc0NyZWF0ZVRyYW5zZm9ybSBJP20gdXNpbmcgVFlQRV9CR1JfOCBmb3Ig dGhlIHNvdXJjZSBhbmQNCgk+IFRZUEVfQ215a184IGZvciB0aGUgZGVzdGluYXRpb24uDQoJPg0K CT4gVGhlIGltYWdlIHRoYXQgSSBkcmF3IHRvIHRoZSBzY3JlZW4gKGFmdGVyIHRoZSBwcm9maWxl KSBsb29rcyBob3JyaWJsZSwNCglzbw0KCT4gSSBrbm93IHRoYXQgYSB0cmFuc2Zvcm1hdGlvbiB3 YXMgbWFkZSBidXQgdGhlIGltYWdlIGxvb2tzIGxpa2UgYQ0KCW5lZ2F0aXZlDQoJPiBvZiB0aGUg YWN0dWFsIHNvdXJjZS4gST9tIHByb2JhYmx5IGRvaW5nIHNvbWV0aGluZyB3cm9uZywgYnV0IEkg Y2FuP3QNCglmaW5kDQoJPiB3aGF0PyBNYXliZSBJIGhhdmUgdG8gdXNlIHRoZSBwcm9vZiBmdW5j dGlvbiBmb3Igc3VjaCB0aGluZy4NCgk+DQoJPg0KCT4NCgk+IE15IHF1ZXN0aW9uIGlzID8gd2hh dCBhbSBJIGRvaW5nIHdyb25nPyBEbyBJIG5lZWQgYSBzcGVjaWZpYyBzdHJ1Y3QgdG8NCglob2xk DQoJPiBDTVlLIG90aGVyIHRoYW4gdGhlIHBmMzJiaXQ/DQoJPg0KCT4NCgk+DQoJPiBUaGFua3MN Cgk+DQoJPg0KCT4NCgk+IFJhbg0KCQ0KCVlvdSBkb24ndCBzYXkgaG93IHlvdSBhcmUgZGlzcGxh eWluZyB0aGUgaW1hZ2UuICBJIHN1c3BlY3QgdGhhdCBpdCBpcyBhbg0KCWlzc3VlDQoJd2l0aCB5 b3VyIHZpZXdlci4NCgkNCglIYWwNCgkNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJQ2hlY2sgb3V0IHRo ZSBuZXcgU291cmNlRm9yZ2UubmV0IE1hcmtldHBsYWNlLg0KCUl0J3MgdGhlIGJlc3QgcGxhY2Ug dG8gYnV5IG9yIHNlbGwgc2VydmljZXMgZm9yDQoJanVzdCBhYm91dCBhbnl0aGluZyBPcGVuIFNv dXJjZS4NCglodHRwOi8vYWQuZG91YmxlY2xpY2submV0L2NsazsxNjQyMTYyMzk7MTM1MDMwMzg7 dz9odHRwOi8vc2YubmV0L21hcmtldHBsYWNlDQoJDQoJX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCglMY21zLXVzZXIgbWFpbGluZyBsaXN0DQoJTGNtcy11 c2VyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KCWh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0 L2xpc3RzL2xpc3RpbmZvL2xjbXMtdXNlcg0KCQ0KCQ0KCQ0KCS0tLS0tLS0tLS0tLS0tIG5leHQg cGFydCAtLS0tLS0tLS0tLS0tLQ0KCUFuIEhUTUwgYXR0YWNobWVudCB3YXMgc2NydWJiZWQuLi4N CgkNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkNCglNZXNzYWdlOiAzDQoJRGF0 ZTogVGh1LCAxMCBKYW4gMjAwOCAwMjo1NTo0OCAtMDYwMA0KCUZyb206ICJNaWNoYWVsIEEuIExp dHNjaGVyIiA8bGl0c2NoZXJtQGNvbG9ybWV0cml4LmNvbT4NCglTdWJqZWN0OiBbTGNtcy11c2Vy XSBVbnNjYWxlZCBYWVogcHJvZmlsZSBjcmVhdGlvbiBtZWFzdXJlbWVudCBkYXRhDQoJVG86IExp dHRsZSBDTVMgTWFpbGluZyBMaXN0IDxsY21zLXVzZXJAbGlzdHMuc291cmNlZm9yZ2UubmV0Pg0K CU1lc3NhZ2UtSUQ6IDw0Nzg1REQ5NC44MDMwNDAyQGNvbG9ybWV0cml4LmNvbT4NCglDb250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMQ0KCQ0KCUhlbGxvIGFsbCwNCgkN CglEb2VzIGFueW9uZSBrbm93IHdoYXQgbGNtcyBmdW5jdGlvbnMgdG8gY2FsbCB0byBnZXQgdGhl IHVuc2NhbGVkIFhZWiBtZWFzdXJlbWVudCBkYXRhIGZyb20gYSBtb25pdG9yJ3MgcHJvZmlsZSBm b3IgdGhlIFJHQigwLCAwLCAwKSBhbmQgUkdCKDI1NSwgMjU1LCAyNTUpIHN3YXRjaGVzIHVzZWQg ZHVyaW5nIHRoZSBwcm9maWxlJ3MgY3JlYXRpb24/ICBBbHNvLCB3b3VsZCBpdCBiZSBzYWZlIHRv IGFzc3VtZSB0aGF0IHRoZSBtZWFzdXJlbWVudCBkYXRhIGZvciB0aGVzZSB0d28gc3dhdGNoZXMg ZXhpc3RzIGluIGV2ZXJ5IG1vbml0b3IgcHJvZmlsZSBjcmVhdGVkIHVzaW5nIGluZHVzdHJpYWwg Z3JhZGUgcHJvZmlsaW5nIHNvZnR3YXJlPyAgSSB3b3VsZCBsaWtlIHRvIHVzZSB0aGlzIGRhdGEg dG8gc2hpZnQgYW5kIHNjYWxlIGFueSBmdXJ0aGVyIG1lYXN1cmVtZW50cyBvZiB0aGUgbW9uaXRv ciBmcm9tIFhZWigwLCAwLCAwKSB0byBYWVoobW9uaXRvcidzIHdoaXRlIHBvaW50KSB3aXRob3V0 IGhhdmluZyB0byByZS1kaXNwbGF5IGFuZCByZS1yZWFkIFJHQigwLCAwLCAwKSBhbmQgUkdCKDI1 NSwgMjU1LCAyNTUpIHN3YXRjaGVzLiAgSXQgd291bGQgYWxzbyBhbGxvdyBtZSB0byBtZWFzdXJl IGFueSBzaGlmdHMgaW4gbHVtaW5hbmNlIGFuZCBjaHJvbWF0aWNpdHkgc2luY2UgdGhlIHByb2Zp bGUncyBjcmVhdGlvbi4gIFRoZSBjbXNUYWtlQ2hhclRhcmdldERhdGEgZnVuY3Rpb24gc2VlbXMg dGhlIG1vc3QgbGlrZWx5LCBidXQgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoaXMgZnVuY3Rpb24g c3RhdGVzIHRoYXQgdGhlIHRhZyB0aGlzIGRhdGEgaXMgc3RvcmVkIHVuZGVyIGlzIG9wdGlvbmFs Lg0KCQ0KCUlmIHRoaXMgZGF0YSBpc24ndCBhdmFpbGFibGUsIGhvdyBkbyBJIGdldCB0aGUgYWJz b2x1dGUgbHVtaW5hbmNlIFhZWiB2YWx1ZT8gIFRoZSBmdW5jdGlvbiBjbXNJc1RhZyByZXR1cm5z IHRydWUgZm9yIGljU2lnTHVtaW5hbmNlVGFnLCBidXQgbm9uZSBvZiB0aGUgZXhwb3J0ZWQgY21z VGFrZSBmdW5jdGlvbnMgc2VlbSB0byBjYXBhYmxlIG9mIHJldHVybmluZyBhbiBYWVogc3RydWN0 dXJlIG9yIGp1c3QgWSBmb3IgaWNTaWdMdW1pbmFuY2VUYWcuICBUaGUgUmVhZElDQ1hZWiBmdW5j dGlvbiBsb29rcyBjYXBhYmxlLCBidXQgaXQgaXNuJ3QgZXhwb3J0ZWQuDQoJDQoJVGhhbmsgeW91 IGZvciB5b3VyIHRpbWUsDQoJDQoJTWljaGFlbCBBLiBMaXRzY2hlcg0KCUNUTywgQ29sb3JNZXRy aXggVGVjaG5vbG9naWVzLCBMTEMNCgkNCgkNCgkNCgkNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCgkNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJQ2hlY2sgb3V0IHRoZSBuZXcgU291cmNl Rm9yZ2UubmV0IE1hcmtldHBsYWNlLg0KCUl0J3MgdGhlIGJlc3QgcGxhY2UgdG8gYnV5IG9yIHNl bGwgc2VydmljZXMgZm9yDQoJanVzdCBhYm91dCBhbnl0aGluZyBPcGVuIFNvdXJjZS4NCglodHRw Oi8vYWQuZG91YmxlY2xpY2submV0L2NsazsxNjQyMTYyMzk7MTM1MDMwMzg7dz9odHRwOi8vc2Yu bmV0L21hcmtldHBsYWNlDQoJDQoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJDQoJ X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCglMY21zLXVz ZXIgbWFpbGluZyBsaXN0DQoJTGNtcy11c2VyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KCWh0dHBz Oi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2xjbXMtdXNlcg0KCQ0KCQ0K CUVuZCBvZiBMY21zLXVzZXIgRGlnZXN0LCBWb2wgMjAsIElzc3VlIDUNCgkqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqDQoJDQoNCg== |