PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vLi4vY29tLmlibS5oZWxwLmRvYy9zd2dfaW5mb19jb21tb24uY3NzIiAvPgo8dGl0bGU+Q3JlYXRpbmcgYSBuZXcgbGlzdGVuZXIgY2xhc3M8L3RpdGxlPgo8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0Ij4KICAgIGZ1bmN0aW9uIHBvcHVwX3dpbmRvdyggdXJsLCBpZCwgd2lkdGgsIGhlaWdodCApCiAgICB7CiAgICAgIHBvcHVwID0gd2luZG93Lm9wZW4oIHVybCwgaWQsICd0b29sYmFyPW5vLHNjcm9sbGJhcnM9bm8sbG9jYXRpb249bm8sc3RhdHVzYmFyPW5vLG1lbnViYXI9bm8scmVzaXphYmxlPW5vLHdpZHRoPScgKyB3aWR0aCArICcsaGVpZ2h0PScgKyBoZWlnaHQgKyAnLGxlZnQ9LHRvcD0nICk7CiAgICAgIHBvcHVwLmZvY3VzKCk7CiAgICB9Cjwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHNyYz0iaGVscC9saXZlSGVscC5qcyI+PC9zY3JpcHQ+PC9oZWFkPgo8Ym9keSBpZD0idHdsc3Rud3oiPjxhIG5hbWU9InR3bHN0bnd6Ij48IS0tIC0tPjwvYT4KCjxoMSBjbGFzcz0idG9waWN0aXRsZTEiPkNyZWF0aW5nIGEgbmV3IGxpc3RlbmVyIGNsYXNzPC9oMT4KPGRpdj48ZGl2IGNsYXNzPSJza2lwc3BhY2UiPiA8cD4gVGhlIExpZmUtY3ljbGUgTGlzdGVuZXIgd2l6YXJkIGVuYWJsZXMgeW91IHRvIGNyZWF0ZSBKYXZhmSBsaXN0ZW5lcgoKY2xhc3NlcyBmb3IgdmFyaW91cyBKMkVFIGxpc3RlbmVyIHR5cGVzIHJlbGF0ZWQgdG8gc2VydmxldCBjb250ZXh0IGFuZCBzZXNzaW9uCgpldmVudHMgYW5kIGF0dHJpYnV0ZXMuPC9wPgo8cD5UbyBjcmVhdGUgYSBsaXN0ZW5lciBjbGFzcywgZG8gdGhlIGZvbGxvd2luZzogPC9wPgogPC9kaXY+CjxvbD48bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+T3BlbiB0aGUgTGlmZS1jeWNsZSBMaXN0ZW5lciB3aXphcmQuIFRvIGRvIHRoaXMsIG9wZW4gdGhlIFdlYgoKcGVyc3BlY3RpdmUgYW5kIGZyb20gdGhlIFByb2plY3QgRXhwbG9yZXIsIGV4cGFuZCB0aGUgcHJvamVjdCAodGhhdCB5b3UgaGF2ZQoKY3JlYXRlZCksIGFuZCBleHBhbmQgdGhlIGRlcGxveW1lbnQgZGVzY3JpcHRvciBpY29uLiBUaGVuIHJpZ2h0IGNsaWNrIG9uIHRoZSA8Yj5MaXN0ZW5lcjwvYj4gaWNvbiwKCmFuZCBzZWxlY3QgPHNwYW4gY2xhc3M9Im1lbnVjYXNjYWRlIj48c3BhbiBjbGFzcz0idWljb250cm9sIj5OZXc8L3NwYW4+ICZndDsgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+TGlmZS1jeWNsZSBMaXN0ZW5lcjwvc3Bhbj48L3NwYW4+IGZyb20gdGhlIHBvcC11cCBtZW51Ljwvc3Bhbj4gIFRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5DcmVhdGUKCkxpc3RlbmVyPC9zcGFuPiB3aXphcmQgYXBwZWFycy48L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+U3BlY2lmeSBhIGxpc3RlbmVyIGNsYXNzLiBUbyB1c2UgYW4gZXhpc3RpbmcgY2xhc3MsIHNlbGVjdCB0aGUKCmFwcHJvcHJpYXRlIGNoZWNrIGJveCBhbmQgdGhlbiB1c2UgdGhlIDxiPkJyb3dzZTwvYj4gYnV0dG9uIHRvIGxvY2F0ZSB0aGUKCmNsYXNzLiBPdGhlcndpc2UsIHNlbGVjdCA8Yj5OZXh0PC9iPi48L3NwYW4+PC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPlN1cHBseSB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOiA8L3NwYW4+ICAgPHVsPjxsaT5UaGUgZm9sZGVyIHdoZXJlIHRoZSBsaXN0ZW5lciBjbGFzcyB3aWxsIGJlIHBsYWNlZDwvbGk+CjxsaT5UaGUgSmF2YSBwYWNrYWdlIHRoYXQgdGhlIGNsYXNzIHdpbGwgYmVsb25nIHRvIChpdCBpcyBhZGRlZCBpbnRvIGEgZGVmYXVsdAoKcGFja2FnZSBpZiB5b3UgZG8gbm90IHNwZWNpZnkgb25lKTwvbGk+CjxsaT5UaGUgY2xhc3MgbmFtZSBvZiB0aGUgbGlzdGVuZXIuIDxkaXYgY2xhc3M9Im5vdGUiPjxzcGFuIGNsYXNzPSJub3RldGl0bGUiPk5vdGU6IDwvc3Bhbj5Zb3Ugc2hvdWxkIHBsYWNlIHRoZSBsaXN0ZW5lciBpbgoKdGhlIEphdmEgc291cmNlCgpmb2xkZXIuPC9kaXY+CjwvbGk+CjxsaT5UaGUgIHN1cGVyY2xhc3MgZm9yIHRoZSBsaXN0ZW5lciBjbGFzcy4gQSBsaXN0ZW5lciBjcmVhdGVkIGJ5IHRoaXMgd2l6YXJkCgpjYW4gaGF2ZSBPYmplY3QsIG9yIGFueSBjbGFzcyB0aGF0IGhhcyBPYmplY3QgaW4gaXRzIGhpZXJhcmNoeSwgYXMgaXRzIHN1cGVyY2xhc3MuCgpDbGljayA8c3BhbiBjbGFzcz0idWljb250cm9sIj5Ccm93c2U8L3NwYW4+IHRvIGNob29zZSBmcm9tIHRoZSBhdmFpbGFibGUgc3VwZXJjbGFzc2VzLjwvbGk+CjwvdWw+CiA8L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+Q2xpY2sgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+TmV4dDwvc3Bhbj4uPC9zcGFuPjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5TZWxlY3QgYSBtb2RpZmllciB0byBzcGVjaWZ5IHdoZXRoZXIgeW91ciBsaXN0ZW5lciBjbGFzc2VzIGFyZQoKcHVibGljLCBhYnN0cmFjdCwgb3IgZmluYWwuIChDbGFzc2VzIGNhbm5vdCBiZSBib3RoIGFic3RyYWN0IGFuZCBmaW5hbC4pPC9zcGFuPjwvbGk+CjxsaSBjbGFzcz0ic2tpcHNwYWNlIj48c3Bhbj5Zb3UgY2FuIGFsc28gYWRkIGFkZGl0aW9uYWwgaW50ZXJmYWNlcyB0byBpbXBsZW1lbnQgaW4gYWRkaXRpb24KCnRvIHRoZSBkZWZhdWx0IGludGVyZmFjZXMuIENsaWNrIDxzcGFuPjxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkFkZDwvc3Bhbj48L3NwYW4+IHRvIG9wZW4KCnRoZSA8c3Bhbj48c3BhbiBjbGFzcz0idWljb250cm9sIj5JbnRlcmZhY2UgU2VsZWN0aW9uPC9zcGFuPjwvc3Bhbj4gZGlhbG9nLiBJbiB0aGlzIGRpYWxvZywKCmFzIHlvdSB0eXBlIHRoZSBuYW1lIG9mIHRoZSBpbnRlcmZhY2UgdGhhdCB5b3UgYXJlIGludGVyZXN0ZWQgaW4gYWRkaW5nIGluCgp0aGUgPHNwYW4+PHNwYW4gY2xhc3M9InVpY29udHJvbCI+Q2hvb3NlIGludGVyZmFjZXM8L3NwYW4+PC9zcGFuPiBmaWVsZCwgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlCgppbnRlcmZhY2VzIGxpc3RlZCBpbiB0aGUgPHNwYW4+PHNwYW4gY2xhc3M9InVpY29udHJvbCI+TWF0Y2hpbmcgdHlwZXM8L3NwYW4+PC9zcGFuPiBsaXN0Cgpib3ggdXBkYXRlcyBkeW5hbWljYWxseSB0byBkaXNwbGF5IG9ubHkgdGhlIGludGVyZmFjZXMgdGhhdCBtYXRjaCB0aGUgcGF0dGVybi4KCkNob29zZSBhbiBpbnRlcmZhY2UgdG8gc2VlIHRoZSA8c3BhbiBjbGFzcz0idWljb250cm9sIj5RdWFsaWZpZXI8L3NwYW4+IGFuZCBjbGljayA8c3BhbiBjbGFzcz0idWljb250cm9sIj5BZGQ8L3NwYW4+LgoKQ2xpY2sgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+T0s8L3NwYW4+IHdoZW4geW91IGFyZSBmaW5pc2hlZC48L3NwYW4+PC9saT4KPGxpIGNsYXNzPSJza2lwc3BhY2UiPjxzcGFuPkNob29zZSB3aGljaCBtZXRob2Qgc3R1YiB5b3Ugd2FudCB0byBjcmVhdGUuIDwvc3Bhbj4gVGhlIDxzcGFuPjxzcGFuIGNsYXNzPSJ1aWNvbnRyb2wiPkluaGVyaXRlZAoKYWJzdHJhY3QgbWV0aG9kczwvc3Bhbj48L3NwYW4+IGFuZCA8c3Bhbj48c3BhbiBjbGFzcz0idWljb250cm9sIj5Db25zdHJ1Y3RvcnMgZnJvbSBzdXBlcmNsYXNzPC9zcGFuPjwvc3Bhbj4gb3B0aW9ucwoKYWRkIHN0dWJzIGZvciBpbmhlcml0ZWQgYWJzdHJhY3QgbWV0aG9kcyBhbmQgc3VwZXJjbGFzcyBjb25zdHJ1Y3RvcnMgdGhhdAoKbXVzdCBiZSBpbXBsZW1lbnRlZCAodW5sZXNzIHlvdSBpbnRlbmQgdG8gY3JlYXRlIGFuIGFic3RyYWN0IGxpc3RlbmVyKS4gT25lCgptZXRob2Qgd2l0aCB0aGUgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+SW5oZXJpdGVkIGFic3RyYWN0IG1ldGhvZHM8L3NwYW4+IG9wdGlvbiBtdXN0CgpiZSBjcmVhdGVkIGZvciB0aGUgY2xhc3Mgbm90IHRvIGJlIGFic3RyYWN0LiA8L2xpPgo8bGkgY2xhc3M9InNraXBzcGFjZSI+PHNwYW4+Q2xpY2sgPHNwYW4gY2xhc3M9InVpY29udHJvbCI+RmluaXNoPC9zcGFuPi48L3NwYW4+PC9saT4KPC9vbD4KPGRpdiBjbGFzcz0ic2tpcHNwYWNlIj48cD5UaGUgbGlzdGVuZXIgY2xhc3MgdGhhdCB5b3UgY3JlYXRlZCBhcHBlYXJzIHVuZGVyIHRoZSBMaXN0ZW5lcgoKaWNvbi48L3A+CjwvZGl2Pgo8L2Rpdj4KPGRpdj48cD48YiBjbGFzcz0icmVsY29uY2VwdHNoZCI+UmVsYXRlZCBjb25jZXB0czwvYj48YnIgLz4KPGEgaHJlZj0iY2N3ZWJ4bWwuaHRtbCIgdGl0bGU9IiI+VGhlIFdlYiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZWRpdG9yPC9hPjxiciAvPgo8L3A+CjwvZGl2PjxwPgoJCShDKSBDb3B5cmlnaHQgSUJNIENvcnBvcmF0aW9uIDIwMDAsIDIwMDUuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCjwvcD4KPC9ib2R5Pgo8L2h0bWw+