PCFkb2N0eXBlIGh0bWwgcHVibGljICItLy93M2MvL2R0ZCBodG1sIDQuMCB0cmFuc2l0aW9uYWwvL2VuIj4KPGh0bWw+CjxoZWFkPgogICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KICAgPG1ldGEgbmFtZT0iQXV0aG9yIiBjb250ZW50PSJibG9iIj4KICAgPG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJNb3ppbGxhLzQuNSBbZnJdIChXaW45ODsgSSkgW05ldHNjYXBlXSI+CiAgIDx0aXRsZT5GcmVlVHlwZSBHbHlwaCBDb252ZW50aW9uczwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+Cgo8Ym9keSB0ZXh0PSIjMDAwMDAwIgogICAgICBiZ2NvbG9yPSIjRkZGRkZGIgogICAgICBsaW5rPSIjMDAwMEVGIgogICAgICB2bGluaz0iIzUxMTg4RSIKICAgICAgYWxpbms9IiNGRjAwMDAiPgoKPGNlbnRlcj4KPGgxPgpGcmVlVHlwZSBHbHlwaCBDb252ZW50aW9uczwvaDE+PC9jZW50ZXI+Cgo8Y2VudGVyPgo8aDI+CnZlcnNpb24gMi4xPC9oMj48L2NlbnRlcj4KCjxjZW50ZXI+CjxoMz4KQ29weXJpZ2h0IDE5OTgtMjAwMCBEYXZpZCBUdXJuZXIgKDxhIGhyZWY9Im1haWx0bzpkYXZpZEBmcmVldHlwZS5vcmciPmRhdmlkQGZyZWV0eXBlLm9yZzwvYT4pPGJyPgpDb3B5cmlnaHQgMjAwMCBUaGUgRnJlZVR5cGUgRGV2ZWxvcG1lbnQgVGVhbSAoPGEgaHJlZj0iZGV2ZWxAZnJlZXR5cGUub3JnIj5kZXZlbEBmcmVldHlwZS5vcmc8L2E+KTwvaDM+PC9jZW50ZXI+Cgo8Y2VudGVyPjx0YWJsZSB3aWR0aD02NTA+PHRyPjx0ZD4KCjxjZW50ZXI+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9MCBjZWxscGFkZGluZz01Pjx0ciBiZ2NvbG9yPSIjQ0NGRkNDIiB2YWxpZ249Y2VudGVyPgo8dGQgYWxpZ249Y2VudGVyIHdpZHRoPSIzMCUiPgo8YSBocmVmPSJnbHlwaHMtNi5odG1sIj5QcmV2aW91czwvYT4KPC90ZD4KPHRkIGFsaWduPWNlbnRlciB3aWR0aD0iMzAlIj4KPGEgaHJlZj0iaW5kZXguaHRtbCI+Q29udGVudHM8L2E+CjwvdGQ+Cjx0ZCBhbGlnbj1jZW50ZXIgd2lkdGg9IjMwJSI+CiZuYnNwOwo8L3RkPgo8L3RyPjwvdGFibGU+PC9jZW50ZXI+CgoKPHRhYmxlIHdpZHRoPSIxMDAlIj48dHIgdmFsaWduPWNlbnRlciBiZ2NvbG9yPSIjQ0NDQ0ZGIj48dGQ+PGgyPgpWSUkuIEZyZWVUeXBlIEJpdG1hcHMKPC9oMj48L3RkPjwvdHI+PC90YWJsZT4KCgo8cD5UaGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gaXMgdG8gcHJlc2VudCB0aGUgd2F5IEZyZWVUeXBlCm1hbmFnZXMgYml0bWFwcyBhbmQgcGl4bWFwcywgYW5kIGhvdyB0aGV5IHJlbGF0ZSB0byB0aGUgY29uY2VwdHMgcHJldmlvdXNseQpkZWZpbmVkLiBUaGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHZlY3RvcmlhbCBhbmQgcGl4ZWwgY29vcmRpbmF0ZXMgaXMKZXhwbGFpbmVkLgo8L3A+Cgo8aDM+PGEgbmFtZT0ic2VjdGlvbi0xIj4KMS4gVmVjdG9yaWFsIHZlcnN1cyBwaXhlbCBjb29yZGluYXRlcyA6CjwvaDM+PGJsb2NrcXVvdGU+Cgo8cD5UaGlzIHN1Yi1zZWN0aW9uIGV4cGxhaW5zIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHZlY3RvcmlhbAphbmQgcGl4ZWwgY29vcmRpbmF0ZXMuIFRvIG1ha2UgdGhpbmdzIGNsZWFyLCBicmFja2V0cyB3aWxsIGJlIHVzZWQgdG8gZGVzY3JpYmUKcGl4ZWwgY29vcmRpbmF0ZXMsIGUuZy4gWzMsNV0sIHdoaWxlIHBhcmVudGhlc2VzIHdpbGwgYmUgdXNlZCBmb3IgdmVjdG9yaWFsCm9uZXMsIGUuZy4gKC0yLDMuNSkuCjxwPkluIHRoZSBwaXhlbCBjYXNlLCBhcyB3ZSB1c2UgdGhlIDxpPlkgdXB3YXJkczwvaT4gY29udmVudGlvbiwgdGhlIGNvb3JkaW5hdGUKWzAsMF0gYWx3YXlzIHJlZmVycyB0byB0aGUgPGk+bG93ZXIgbGVmdCBwaXhlbDwvaT4gb2YgYSBiaXRtYXAsIHdoaWxlIGNvb3JkaW5hdGUKW3dpZHRoLTEsIHJvd3MtMV0gdG8gaXRzIDxpPnVwcGVyIHJpZ2h0IHBpeGVsPC9pPi4KPHA+SW4gdGhlIHZlY3RvcmlhbCBjYXNlLCBwb2ludCBjb29yZGluYXRlcyBhcmUgZXhwcmVzc2VkIGluIGZsb2F0aW5nIHVuaXRzLApsaWtlICgxLjI1LCAtMi4zKS4gU3VjaCBhIHBvc2l0aW9uIGRvZXNuJ3QgcmVmZXIgdG8gYSBnaXZlbiBwaXhlbCwgYnV0CnNpbXBseSB0byBhbiBpbW1hdGVyaWFsIHBvaW50IGluIHRoZSAyRCBwbGFuZQo8cD5UaGUgcGl4ZWxzIHRoZW1zZWx2ZXMgYXJlIGluZGVlZCA8aT5zcXVhcmUgYm94ZXM8L2k+IG9mIHRoZSAyRCBwbGFuZSwKd2hpY2ggY2VudGVycyBsaWUgaW4gaGFsZiBwaXhlbCBjb29yZGluYXRlcy4gRm9yIGV4YW1wbGUsIHRoZSA8aT5sb3dlcgpsZWZ0IHBpeGVsPC9pPiBvZiBhIGJpdG1hcCBpcyBkZWxpbWl0ZWQgYnkgdGhlIDxpPnNxdWFyZTwvaT4gKDAsMCktKDEsMSksCml0cyBjZW50ZXIgYmVpbmcgYXQgbG9jYXRpb24gKDAuNSwwLjUpLgo8cD5UaGlzIGludHJvZHVjZXMgc29tZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXB1dGluZyBkaXN0YW5jZXMuIEZvciBleGFtcGxlLAp0aGUgIjxpPmxlbmd0aDwvaT4iIGluIHBpeGVscyBvZiB0aGUgbGluZSBbMCwwXS1bMTAsMF0gaXMgMTEuIEhvd2V2ZXIsCnRoZSB2ZWN0b3JpYWwgZGlzdGFuY2UgYmV0d2VlbiAoMCwwKS0oMTAsMCkgY292ZXJzIGV4YWN0bHkgMTAgcGl4ZWwgY2VudGVycywKaGVuY2UgaXRzIGxlbmd0aCBpZiAxMC4KPGNlbnRlcj48aW1nIFNSQz0iZ3JpZF8xLnBuZyIgaGVpZ2h0PTM5MCB3aWR0aD00MDI+PC9jZW50ZXI+CgoKPC9ibG9ja3F1b3RlPjxoMz48YSBuYW1lPSJzZWN0aW9uLTIiPgoyLiBGcmVlVHlwZSBiaXRtYXAgYW5kIHBpeG1hcCBkZXNjcmlwdG9yIDoKPC9oMz48YmxvY2txdW90ZT4KCjxwPkEgYml0bWFwIG9yIHBpeG1hcCBpcyBkZXNjcmliZWQgdGhyb3VnaCBhIHNpbmdsZSBzdHJ1Y3R1cmUsCmNhbGxlZCA8dHQ+RlRfQml0bWFwPC90dD4sIGRlZmluZWQgaW4gdGhlIGZpbGUKPHR0PiZsdDtmcmVldHlwZS9mdGltYWdlLmgmZ3Q7PC90dD4uIEl0IGlzIGEgc2ltcGxlIGRlc2NyaXB0b3Igd2hvc2UgZmllbGRzIGFyZTo8L3A+Cgo8Y2VudGVyPjx0YWJsZSBDRUxMU1BBQ0lORz0zIENFTExQQURESU5HPTUgQkdDT0xPUj0iI0NDQ0NDQyIgd2lkdGg9IjgwJSIgPgo8Y2FwdGlvbj48dHQ+RlRfQml0bWFwPC90dD48L2NhcHRpb24+Cgo8dHI+Cjx0ZD48Yj5yb3dzPC9iPjwvdGQ+Cgo8dGQ+dGhlIG51bWJlciBvZiByb3dzLCBpLmUuIGxpbmVzLCBpbiB0aGUgYml0bWFwPC90ZD4KPC90cj4KCjx0cj4KPHRkPjxiPndpZHRoPC9iPjwvdGQ+Cgo8dGQ+dGhlIG51bWJlciBvZiBob3Jpem9udGFsIHBpeGVscyBpbiB0aGUgYml0bWFwPC90ZD4KPC90cj4KCjx0cj4KPHRkPjxiPnBpdGNoPC9iPjwvdGQ+Cgo8dGQ+aXRzIGFic29sdXRlIHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgcGVyIGJpdG1hcCBsaW5lLgppdCBjYW4gYmUgZWl0aGVyIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIGRlcGVuZGluZyBvbiB0aGUgYml0bWFwJ3MKdmVydGljYWwgb3JpZW50YXRpb248L3RkPgo8L3RyPgoKPHRyPgo8dGQ+PGI+YnVmZmVyPC9iPjwvdGQ+Cgo8dGQ+YSB0eXBlbGVzcyBwb2ludGVyIHRvIHRoZSBiaXRtYXAgcGl4ZWwgYnVmZXI8L3RkPgo8L3RyPgoKPHRyPgo8dGQ+PGI+cGl4ZWxfbW9kZTwvYj48L3RkPgoKPHRkPmFuIGVudW1lcmF0aW9uIHVzZWQgdG8gZGVzY3JpYmUgdGhlIHBpeGVsIGZvcm1hdCBvZiB0aGUgYml0bWFwLgpFeGFtcGxlcyBhcmU6IDx0dD5mdF9waXhlbF9tb2RlX21vbm88L3R0PiBmb3IgMS1iaXQgbW9ub2Nocm9tZSBiaXRtYXBzCmFuZCA8dHQ+ZnRfcGl4ZWxfbW9kZV9ncmF5czwvdHQ+IGZvciA4LWJpdCBhbnRpLWFsaWFzZWQgImdyYXkiIHZhbHVlcwo8L3RkPgoKPHRyPgo8dGQ+PGI+bnVtX2dyYXlzPC9iPjwvdGQ+Cgo8dGQ+dGhpcyBpcyBvbmx5IHVzZWQgZm9yICJncmF5IiBwaXhlbCBtb2RlcywgaXQgZ2l2ZXMgdGhlCm51bWJlciBvZiBncmF5IGxldmVscyB1c2VkIHRvIGRlc2NyaWJlIHRoZSBhbnRpLWFsaWFzZWQgZ3JheSBsZXZlbHMuCjI1NiBieSBkZWZhdWx0IHdpdGggRnJlZVR5cGUgMi4KPC90ZD4KPC90cj4KCjwvdGFibGU+PC9jZW50ZXI+CgoKPHA+Tm90ZSB0aGF0IHRoZSBzaWduIG9mIHRoZSA8Yj48dHQ+cGl0Y2g8L3R0PjwvYj4gZmllbGRzIGRldGVybWluZXMgd2V0aGVyCnRoZSByb3dzIGluIHRoZSBwaXhlbCBidWZmZXIgYXJlIHN0b3JlZCBpbiBhc2NlbmRpbmcgb3IgZGVzY2VuZGluZyBvcmRlci4KPC9wPgoKPHA+UmVtZW1iZXIgdGhhdCBGcmVlVHlwZSB1c2VzIHRoZSA8aT5ZIHVwd2FyZHM8L2k+IGNvbnZlbnRpb24gaW4gdGhlIDJECnBsYW5lLiBXaGljaCBtZWFucyB0aGF0IGEgY29vcmRpbmF0ZSBvZiAoMCwwKSBhbHdheXMgcmVmZXIgdG8gdGhlCjxpPmxvd2VyLWxlZnQgY29ybmVyPC9pPiBvZiBhIGJpdG1hcC4KPC9wPgoKPHA+V2hlbiB0aGUgcGl0Y2ggaXMgcG9zaXRpdmUsIHRoZSByb3dzIGFyZSBzdG9yZWQgaW4gZGVjcmVhc2luZyB2ZXJ0aWNhbApwb3NpdGlvbiwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgZmlyc3QgYnl0ZXMgb2YgdGhlIHBpeGVsIGJ1ZmZlciBhcmUgcGFydApvZiB0aGUgPGk+dXBwZXI8L2k+IGJpdG1hcCByb3cuCjwvcD4KCjxwPk9uIHRoZSBvcHBvc2l0ZSwgd2hlbiB0aGUgcGl0Y2ggaXMgbmVnYXRpdmUsIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUKcGl4ZWwgYnVmZmVyIGFyZSBwYXJ0IG9mIHRoZSA8aT5sb3dlcjwvaT4gYml0bWFwIHJvdy48L3A+Cgo8cD5JbiBhbGwgY2FzZXMsIG9uZSBjYW4gc2VlIHRoZSBwaXRjaCBhcyB0aGUgYnl0ZSBpbmNyZW1lbnQgbmVlZGVkCnRvIHNraXAgdG8gdGhlIDxlbT5uZXh0IGxvd2VyIHNjYW5saW5lPC9lbT4gaW4gYSBnaXZlbiBiaXRtYXAgYnVmZmVyLjwvcD4KCjxwPlRoZSB0d28gY29udmVudGlvbnMgYXJlIGRldGFpbGVkIGJ5IHRoaXMgZ3JhcGhpY3M6PC9wPgoKPGNlbnRlcj48dGFibGU+Cjx0cj4KPHRkPjxpbWcgU1JDPSJ1cF9mbG93LnBuZyIgaGVpZ2h0PTI2MSB3aWR0aD0yNzU+PC90ZD4KCjx0ZD48aW1nIFNSQz0iZG93bl9mbG93LnBuZyIgaGVpZ2h0PTI2MyB3aWR0aD0yNzM+PC90ZD4KPC90cj4KPC90YWJsZT48L2NlbnRlcj4KCjxwPlRoZSA8ZW0+cG9zaXRpdmUgcGl0Y2g8L2VtPiBjb252ZW50aW9uIGlzIHZlcnkgb2Z0ZW4gdXNlZCwgdGhvdWdoCnNvbWUgc3lzdGVtcyBtaWdodCBuZWVkIG90aGVyd2lzZS48L3A+CgoKPC9ibG9ja3F1b3RlPjxoMz48YSBuYW1lPSJzZWN0aW9uLTMiPgozLiBDb252ZXJ0aW5nIG91dGxpbmVzIGludG8gYml0bWFwcyBhbmQgcGl4bWFwcyA6CjwvaDM+PGJsb2NrcXVvdGU+Cgo8cD5HZW5lcmF0aW5nIGEgYml0bWFwIG9yIHBpeG1hcCBpbWFnZSBmcm9tIGEgdmVjdG9yaWFsIGltYWdlCmlzIGVhc3kgd2l0aCBGcmVlVHlwZS4gSG93ZXZlciwgb25lIG11c3QgdW5kZXJzdGFuZCBhIGZldyBwb2ludHMgcmVnYXJkaW5nCnRoZSBwb3NpdGlvbmluZyBvZiB0aGUgb3V0bGluZSBpbiB0aGUgMkQgcGxhbmUgYmVmb3JlIGNvbnZlcnRpbmcgaXQgdG8KYSBiaXRtYXAuIFRoZXNlIGFyZSA6PC9wPgoKPHVsPgoKPGxpPjxwPgpUaGUgZ2x5cGggbG9hZGVyIGFuZCBoaW50ZXIgYWx3YXlzIHBsYWNlcyB0aGUgb3V0bGluZSBpbiB0aGUgMkQgcGxhbmUgc28KdGhhdCAoMCwwKSBtYXRjaGVzIGl0cyBjaGFyYWN0ZXIgb3JpZ2luLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGdseXBoknMgb3V0bGluZSwKYW5kIGNvcnJlc3BvbmRpbmcgYm91bmRpbmcgYm94LCBjYW4gYmUgcGxhY2VkIGFueXdoZXJlIGluIHRoZSAyRCBwbGFuZQooc2VlIHRoZSBncmFwaGljcyBpbiBzZWN0aW9uIElJSSkuCjwvcD48L2xpPgoKPGxpPjxwPgpUaGUgdGFyZ2V0IGJpdG1hcJJzIGFyZWEgaXMgbWFwcGVkIHRvIHRoZSAyRCBwbGFuZSwgd2l0aCBpdHMgbG93ZXIgbGVmdApjb3JuZXIgYXQgKDAsMCkuIFRoaXMgbWVhbnMgdGhhdCBhIGJpdG1hcCBvciBwaXhtYXAgb2YgZGltZW5zaW9ucwpbPHR0PncsaDwvdHQ+XSB3aWxsIGJlIG1hcHBlZCB0byBhIDJEIHJlY3RhbmdsZSB3aW5kb3cgZGVsaW1pdGVkIGJ5CigwLDApLSg8dHQ+dyxoPC90dD4pLgo8L3A+PC9saT4KCjxsaT48cD4KV2hlbiBzY2FuLWNvbnZlcnRpbmcgdGhlIG91dGxpbmUsIGV2ZXJ5dGhpbmcgdGhhdCBmYWxscwp3aXRoaW4gdGhlIGJpdG1hcCB3aW5kb3cgaXMgcmVuZGVyZWQsIHRoZSByZXN0IGlzIGlnbm9yZWQuCjwvcD48L2xpPgoKPHA+QSBjb21tb24gbWlzdGFrZSBtYWRlIGJ5IG1hbnkgZGV2ZWxvcGVycyB3aGVuIHRoZXkgYmVnaW4gdXNpbmcgRnJlZVR5cGUKaXMgYmVsaWV2aW5nIHRoYXQgYSBsb2FkZWQgb3V0bGluZSBjYW4gYmUgZGlyZWN0bHkgcmVuZGVyZWQgaW4gYSBiaXRtYXAKb2YgYWRlcXVhdGUgZGltZW5zaW9ucy4gVGhlIGZvbGxvd2luZyBpbWFnZXMgaWxsdXN0cmF0ZSB3aHkgdGhpcyBpcyBhIHByb2JsZW06CjwvcD4KCjxwPgo8dWw+Cgo8bGk+CnRoZSBmaXJzdCBpbWFnZSBzaG93cyBhIGxvYWRlZCBvdXRsaW5lIGluIHRoZSAyRCBwbGFuZS4KPC9saT4KCjxsaT4KdGhlIHNlY29uZCBvbmUgc2hvd3MgdGhlIHRhcmdldCB3aW5kb3cgZm9yIGEgYml0bWFwIG9mIGFyYml0cmFyeSBkaW1lbnNpb25zClt3LGhdCjwvbGk+Cgo8bGk+CnRoZSB0aGlyZCBvbmUgc2hvd3MgdGhlIGp1eHRhcG9zaXRpb24gb2YgdGhlIG91dGxpbmUgYW5kIHdpbmRvdyBpbiB0aGUKMkQgcGxhbmUKPC9saT4KCjxsaT4KdGhlIGxhc3QgaW1hZ2Ugc2hvd3Mgd2hhdCB3aWxsIHJlYWxseSBiZSByZW5kZXJlZCBpbiB0aGUgYml0bWFwLgo8L2xpPgo8L3VsPgo8L3A+Cgo8L3VsPgo8Y2VudGVyPjxpbWcgU1JDPSJjbGlwcGluZy5wbmciIGhlaWdodD0xNTEgd2lkdGg9NTM5PjwvY2VudGVyPgoKPHA+PGJyPgo8YnI+Cjxicj4KPHA+SW5kZWVkLCBpbiBuZWFybHkgYWxsIGNhc2VzLCB0aGUgbG9hZGVkIG9yIHRyYW5zZm9ybWVkIG91dGxpbmUgbXVzdApiZSB0cmFuc2xhdGVkIGJlZm9yZSBpdCBpcyByZW5kZXJlZCBpbnRvIGEgdGFyZ2V0IGJpdG1hcCwgaW4gb3JkZXIgdG8gYWRqdXN0Cml0cyBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgdGFyZ2V0IHdpbmRvdy4KPC9wPgoKPHA+Rm9yIGV4YW1wbGUsIHRoZSBjb3JyZWN0IHdheSBvZiBjcmVhdGluZyBhIDxpPnN0YW5kYWxvbmU8L2k+IGdseXBoIGJpdG1hcAppcyB0aHVzIHRvIDoKPC9wPgoKPHVsPgo8bGk+PHA+CkNvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGdseXBoIGJpdG1hcC4gSXQgY2FuIGJlIGNvbXB1dGVkIGRpcmVjdGx5IGZyb20KdGhlIGdseXBoIG1ldHJpY3MsIG9yIGJ5IGNvbXB1dGluZyBpdHMgYm91bmRpbmcgYm94ICh0aGlzIGlzIHVzZWZ1bCB3aGVuCmEgdHJhbnNmb3JtIGhhcyBiZWVuIGFwcGxpZWQgdG8gdGhlIG91dGxpbmUgYWZ0ZXIgdGhlIGxvYWQsIGFzIHRoZSBnbHlwaAptZXRyaWNzIGFyZSBub3QgdmFsaWQgYW55bW9yZSkuCjwvcD48L2xpPgoKPGxpPjxwPgpDcmVhdGUgdGhlIGJpdG1hcCB3aXRoIHRoZSBjb21wdXRlZCBkaW1lbnNpb25zLiBEb24ndCBmb3JnZXQgdG8gZmlsbCB0aGUKcGl4ZWwgYnVmZmVyIHdpdGggdGhlIGJhY2tncm91bmQgY29sb3IuCjwvcD48L2xpPgoKPGxpPjxwPgpUcmFuc2xhdGUgdGhlIG91dGxpbmUgc28gdGhhdCBpdHMgbG93ZXIgbGVmdCBjb3JuZXIgbWF0Y2hlcyAoMCwwKS4gRG9uknQKZm9yZ2V0IHRoYXQgaW4gb3JkZXIgdG8gcHJlc2VydmUgaGludGluZywgb25lIHNob3VsZCB1c2UgaW50ZWdlciwgaS5lLgpyb3VuZGVkIGRpc3RhbmNlcyAob2YgY291cnNlLCB0aGlzIGlzbpJ0IHJlcXVpcmVkIGlmIHByZXNlcnZpbmcgaGludGluZwppbmZvcm1hdGlvbiBkb2VzbpJ0IG1hdHRlciwgbGlrZSB3aXRoIHJvdGF0ZWQgdGV4dCkuIFVzdWFsbHksIHRoaXMgbWVhbnMKdHJhbnNsYXRpbmcgd2l0aCBhIHZlY3RvciA8dHQ+KCAtUk9VTkQoeE1pbiksIC1ST1VORCh5TWluKSApPC90dD4uCjwvcD48L2xpPgoKPGxpPjxwPgpDYWxsIHRoZSByZW5kZXJpbmcgZnVuY3Rpb24gKGl0IGNhbiBiZSA8dHQ+RlRfT3V0bGluZV9SZW5kZXI8L3R0PiBmb3IKZXhhbXBsZSkuCjwvcD48L2xpPgoKPHA+PGJyPkluIHRoZSBjYXNlIHdoZXJlIG9uZSB3YW50cyB0byB3cml0ZSBnbHlwaCBpbWFnZXMgZGlyZWN0bHkgaW50bwphIGxhcmdlIGJpdG1hcCwgdGhlIG91dGxpbmVzIG11c3QgYmUgdHJhbnNsYXRlZCBzbyB0aGF0IHRoZWlyIHZlY3RvcmlhbApwb3NpdGlvbiBjb3JyZXNwb25kIHRvIHRoZSBjdXJyZW50IHRleHQgY3Vyc29yL2NoYXJhY3RlciBvcmlnaW4uPC9ibG9ja3F1b3RlPgo8L2Jsb2NrcXVvdGU+Cgo8Y2VudGVyPjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPTAgY2VsbHBhZGRpbmc9NT48dHIgYmdjb2xvcj0iI0NDRkZDQyIgdmFsaWduPWNlbnRlcj4KPHRkIGFsaWduPWNlbnRlciB3aWR0aD0iMzAlIj4KPGEgaHJlZj0iZ2x5cGhzLTYuaHRtbCI+UHJldmlvdXM8L2E+CjwvdGQ+Cjx0ZCBhbGlnbj1jZW50ZXIgd2lkdGg9IjMwJSI+CjxhIGhyZWY9ImluZGV4Lmh0bWwiPkNvbnRlbnRzPC9hPgo8L3RkPgo8dGQgYWxpZ249Y2VudGVyIHdpZHRoPSIzMCUiPgombmJzcDsKPC90ZD4KPC90cj48L3RhYmxlPjwvY2VudGVyPgoKPC90ZD48L3RyPjwvdGFibGU+PC9jZW50ZXI+Cgo8L2JvZHk+CjwvaHRtbD4K