PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MC9sb29zZS5kdGQiPjxodG1sPjxoZWFkPjx0aXRsZT5DU1MxIFRlc3QgU3VpdGU6IDUuNS4yNSBmbG9hdDwvdGl0bGU+Cgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TdHlsZS1UeXBlIiBjb250ZW50PSJ0ZXh0L2NzcyI+Cgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiBocmVmPSIuLi9yZXNvdXJjZXMvYmFzZS5jc3MiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpQLnRlc3Qge2JhY2tncm91bmQ6IHdoaXRlOyBmb250LXNpemU6IDIwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IG1hcmdpbi1yaWdodDogMTBweDsgcGFkZGluZzogMDsgYm9yZGVyOiAwO30KSU1HIHtwYWRkaW5nOiAwOyBib3JkZXI6IDA7IG1hcmdpbjogMDt9ClAudGVzdCBJTUcge2Zsb2F0OiBsZWZ0O30KI2ltZzIge21hcmdpbi10b3A6IDMwcHg7IG1hcmdpbi1sZWZ0OiAzMHB4O30KI2ltZzMge21hcmdpbi10b3A6IC0zMHB4OyBtYXJnaW4tbGVmdDogLTMwcHg7fQojaW1nNCB7bWFyZ2luLXJpZ2h0OiAzMHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4O30KI2ltZzUge21hcmdpbi1yaWdodDogLTMwcHg7IG1hcmdpbi1ib3R0b206IC0zMHB4O30KPC9zdHlsZT48L2hlYWQ+Cgo8Ym9keT48cD5UaGUgc3R5bGUgZGVjbGFyYXRpb25zIHdoaWNoIGFwcGx5IHRvIHRoZSB0ZXh0IGJlbG93IGFyZTo8L3A+CjxwcmU+UC50ZXN0IHtiYWNrZ3JvdW5kOiB3aGl0ZTsgZm9udC1zaXplOiAyMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDt9CklNRyB7cGFkZGluZzogMDsgYm9yZGVyOiAwOyBtYXJnaW46IDA7fQpQLnRlc3QgSU1HIHtmbG9hdDogbGVmdDt9CiNpbWcyIHttYXJnaW4tdG9wOiAzMHB4OyBtYXJnaW4tbGVmdDogMzBweDt9CiNpbWczIHttYXJnaW4tdG9wOiAtMzBweDsgbWFyZ2luLWxlZnQ6IC0zMHB4O30KI2ltZzQge21hcmdpbi1yaWdodDogMzBweDsgbWFyZ2luLWJvdHRvbTogMzBweDt9CiNpbWc1IHttYXJnaW4tcmlnaHQ6IC0zMHB4OyBtYXJnaW4tYm90dG9tOiAtMzBweDt9Cgo8L3ByZT4KPGhyPgo8cCBjbGFzcz0idGVzdCI+IFRoaXMgcGFyYWdyYXBoIHNob3VsZCBoYXZlIGEgd2hpdGUgYmFja2dyb3VuZCB3aGljaApleHRlbmRzIHRvIHRoZSBlZGdlcyBvZiB0aGUgZWxlbWVudCdzIGJveC4gIFRoZXJlIGlzIG5vIHBhZGRpbmcgc2V0IG9uCnRoaXMgcGFyYWdyYXBoIHdoYXRzb2V2ZXIuICBJZiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgZW50aXJlIGJveCBpcyBub3QKd2hpdGUsIHRoaXMgbWF5IGNhdXNlIHByb2JsZW1zIHdpdGggdGhlIGZvbGxvd2luZyB0ZXN0czsgYXQgYW55IHJhdGUsCml0IG11c3QgYmUgdGFrZW4gaW50byBhY2NvdW50LiA8L3A+CjxwIGNsYXNzPSJ0ZXN0Ij4KPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9jcm9zc2hhaXIuZ2lmIiBhbHQ9IltJbWFnZV0iPiBUaGUgaW1hZ2UgaW4KdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBmbG9hdGVkIGxlZnQsIGFuZApub3RoaW5nIG1vcmUuICBUaGUgZWRnZXMgb2YgdGhlIHdoaXRlIGJhY2tncm91bmQgc2hvdWxkIGxpbmUgdXAgd2l0aAp0aGUgdG9wIGFuZCBsZWZ0IGVkZ2VzIG9mIHRoZSBpbWFnZS4gIFRoaXMgcGFyYWdyYXBoIHNob3VsZCBoYXZlIGEKd2hpdGUgYmFja2dyb3VuZCwgZmlyc3Qgb2YgYWxsLCB3aGljaCBleHRlbmRzIHRvIHRoZSBlZGdlcyBvZiB0aGUKZWxlbWVudCdzIGJveC4gIFRoZXJlIGlzIG5vIHBhZGRpbmcgc2V0IG9uIHRoaXMgcGFyYWdyYXBoIHdoYXRzb2V2ZXIuIDwvcD4KPHAgY2xhc3M9InRlc3QiPgo8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2Nyb3NzaGFpci5naWYiIGlkPSJpbWcyIiBhbHQ9IltJbWFnZV0iPiBUaGUKaW1hZ2UgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBwdXNoZWQgZG93bgphbmQgdG8gdGhlIHJpZ2h0IDMwIHBpeGVscyBlYWNoIGZyb20gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZQpwYXJhZ3JhcGgncyBib3gsIGFuZCBkaXNwbGFjZSB0aGUgcGFyYWdyYXBoIHRleHQgYWNjb3JkaW5nbHkuICBUaGlzCnBhcmFncmFwaCBzaG91bGQgaGF2ZSBhIHdoaXRlIGJhY2tncm91bmQsIGZpcnN0IG9mIGFsbCwgd2hpY2ggZXh0ZW5kcwp0byB0aGUgZWRnZXMgb2YgdGhlIGVsZW1lbnQncyBib3guICBUaGVyZSBpcyBubyBwYWRkaW5nIHNldCBvbiB0aGlzCnBhcmFncmFwaCB3aGF0c29ldmVyLiA8L3A+CjxwIGNsYXNzPSJ0ZXN0Ij4KPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9jcm9zc2hhaXIuZ2lmIiBpZD0iaW1nMyIgYWx0PSJbSW1hZ2VdIj4gVGhlCmltYWdlIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgcHVzaGVkIHVwCmFuZCB0byB0aGUgbGVmdCAzMCBwaXhlbHMgZWFjaCBmcm9tIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUKcGFyYWdyYXBoJ3MgYm94LCB0aHVzIGNhdXNpbmcgdGhlIGVkZ2VzIG9mIHRoZSB3aGl0ZSBiYWNrZ3JvdW5kIHRvCmFsaWduIHdpdGggdGhlIHRoaWNrIGdyYXkgbGluZXMgaW4gdGhlIGltYWdlLiAgVGhpcyBwYXJhZ3JhcGggc2hvdWxkCmhhdmUgYSB3aGl0ZSBiYWNrZ3JvdW5kLCBmaXJzdCBvZiBhbGwsIHdoaWNoIGV4dGVuZHMgdG8gdGhlIGVkZ2VzIG9mCnRoZSBlbGVtZW50J3MgYm94LiAgVGhlcmUgaXMgbm8gcGFkZGluZyBzZXQgb24gdGhpcyBwYXJhZ3JhcGgKd2hhdHNvZXZlci4gPC9wPgo8cCBjbGFzcz0idGVzdCI+CjxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvY3Jvc3NoYWlyLmdpZiIgaWQ9ImltZzQiIGFsdD0iW0ltYWdlXSI+IFRoZQppbWFnZSBpbiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhpcyBwYXJhZ3JhcGggc2hvdWxkIGJlIGZsb2F0ZWQKbGVmdCwgYW5kIHRoZSBlZGdlcyBvZiB0aGUgd2hpdGUgYmFja2dyb3VuZCBzaG91bGQgbGluZSB1cCB3aXRoIHRoZSB0b3AKYW5kIGxlZnQgZWRnZXMgb2YgdGhlIGltYWdlLiAgSG93ZXZlciwgdGhlcmUgc2hvdWxkIGJlIDMwIHBpeGVscyBvZgpzcGFjZSBiZXR3ZWVuIHRoZSByaWdodCBhbmQgYm90dG9tIGVkZ2VzIG9mIHRoZSBpbWFnZSBhbmQgdGhlIHBhcmFncmFwaAp0ZXh0IGFyb3VuZCBpdC4gIFRoaXMgcGFyYWdyYXBoIHNob3VsZCBoYXZlIGEgd2hpdGUgYmFja2dyb3VuZCwgZmlyc3QKb2YgYWxsLCB3aGljaCBleHRlbmRzIHRvIHRoZSBlZGdlcyBvZiB0aGUgZWxlbWVudCdzIGJveC4gIFRoZXJlIGlzIG5vCnBhZGRpbmcgc2V0IG9uIHRoaXMgcGFyYWdyYXBoIHdoYXRzb2V2ZXIuIDwvcD4KPHAgY2xhc3M9InRlc3QiPgo8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2Nyb3NzaGFpci5naWYiIGlkPSJpbWc1IiBhbHQ9IltJbWFnZV0iPiBUaGUKaW1hZ2UgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBmbG9hdGVkCmxlZnQsIGFuZCB0aGUgZWRnZXMgb2YgdGhlIHdoaXRlIGJhY2tncm91bmQgc2hvdWxkIGxpbmUgdXAgd2l0aCB0aGUgdG9wCmFuZCBsZWZ0IGVkZ2VzIG9mIHRoZSBpbWFnZS4gIEhvd2V2ZXIsIHRoZSB0ZXh0IHNob3VsZCBvdmVybGFwIHRoZQppbWFnZSdzIHJpZ2h0IGFuZCBib3R0b20gc2lkZXMsIGxpbmluZyB1cCB3aXRoIHRoZSB0aGljayBncmF5IGxpbmVzIGluCnRoZSBpbWFnZS4gIFRoaXMgcGFyYWdyYXBoIHNob3VsZCBoYXZlIGEgd2hpdGUgYmFja2dyb3VuZCwgZmlyc3Qgb2YKYWxsLCB3aGljaCBleHRlbmRzIHRvIHRoZSBlZGdlcyBvZiB0aGUgZWxlbWVudCdzIGJveC4gIFRoZXJlIGlzIG5vCnBhZGRpbmcgc2V0IG9uIHRoaXMgcGFyYWdyYXBoIHdoYXRzb2V2ZXIuIDwvcD4KCgo8dGFibGUgYm9yZGVyPSIxIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjMiIGNsYXNzPSJ0YWJsZXRlc3QiPgo8dGJvZHk+PHRyPgo8dGQgY29sc3Bhbj0iMiIgYmdjb2xvcj0ic2lsdmVyIj48c3Ryb25nPlRBQkxFIFRlc3RpbmcgU2VjdGlvbjwvc3Ryb25nPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkIGJnY29sb3I9InNpbHZlciI+oDwvdGQ+Cjx0ZD48cCBjbGFzcz0idGVzdCI+IFRoaXMgcGFyYWdyYXBoIHNob3VsZCBoYXZlIGEgd2hpdGUgYmFja2dyb3VuZCB3aGljaApleHRlbmRzIHRvIHRoZSBlZGdlcyBvZiB0aGUgZWxlbWVudCdzIGJveC4gIFRoZXJlIGlzIG5vIHBhZGRpbmcgc2V0IG9uCnRoaXMgcGFyYWdyYXBoIHdoYXRzb2V2ZXIuICBJZiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgZW50aXJlIGJveCBpcyBub3QKd2hpdGUsIHRoaXMgbWF5IGNhdXNlIHByb2JsZW1zIHdpdGggdGhlIGZvbGxvd2luZyB0ZXN0czsgYXQgYW55IHJhdGUsCml0IG11c3QgYmUgdGFrZW4gaW50byBhY2NvdW50LiA8L3A+CjxwIGNsYXNzPSJ0ZXN0Ij4KPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9jcm9zc2hhaXIuZ2lmIiBhbHQ9IltJbWFnZV0iPiBUaGUgaW1hZ2UgaW4KdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBmbG9hdGVkIGxlZnQsIGFuZApub3RoaW5nIG1vcmUuICBUaGUgZWRnZXMgb2YgdGhlIHdoaXRlIGJhY2tncm91bmQgc2hvdWxkIGxpbmUgdXAgd2l0aAp0aGUgdG9wIGFuZCBsZWZ0IGVkZ2VzIG9mIHRoZSBpbWFnZS4gIFRoaXMgcGFyYWdyYXBoIHNob3VsZCBoYXZlIGEKd2hpdGUgYmFja2dyb3VuZCwgZmlyc3Qgb2YgYWxsLCB3aGljaCBleHRlbmRzIHRvIHRoZSBlZGdlcyBvZiB0aGUKZWxlbWVudCdzIGJveC4gIFRoZXJlIGlzIG5vIHBhZGRpbmcgc2V0IG9uIHRoaXMgcGFyYWdyYXBoIHdoYXRzb2V2ZXIuIDwvcD4KPHAgY2xhc3M9InRlc3QiPgo8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2Nyb3NzaGFpci5naWYiIGlkPSJpbWcyIiBhbHQ9IltJbWFnZV0iPiBUaGUKaW1hZ2UgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBwdXNoZWQgZG93bgphbmQgdG8gdGhlIHJpZ2h0IDMwIHBpeGVscyBlYWNoIGZyb20gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZQpwYXJhZ3JhcGgncyBib3gsIGFuZCBkaXNwbGFjZSB0aGUgcGFyYWdyYXBoIHRleHQgYWNjb3JkaW5nbHkuICBUaGlzCnBhcmFncmFwaCBzaG91bGQgaGF2ZSBhIHdoaXRlIGJhY2tncm91bmQsIGZpcnN0IG9mIGFsbCwgd2hpY2ggZXh0ZW5kcwp0byB0aGUgZWRnZXMgb2YgdGhlIGVsZW1lbnQncyBib3guICBUaGVyZSBpcyBubyBwYWRkaW5nIHNldCBvbiB0aGlzCnBhcmFncmFwaCB3aGF0c29ldmVyLiA8L3A+CjxwIGNsYXNzPSJ0ZXN0Ij4KPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9jcm9zc2hhaXIuZ2lmIiBpZD0iaW1nMyIgYWx0PSJbSW1hZ2VdIj4gVGhlCmltYWdlIGluIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgcHVzaGVkIHVwCmFuZCB0byB0aGUgbGVmdCAzMCBwaXhlbHMgZWFjaCBmcm9tIHRoZSB1cHBlciBsZWZ0IGNvcm5lciBvZiB0aGUKcGFyYWdyYXBoJ3MgYm94LCB0aHVzIGNhdXNpbmcgdGhlIGVkZ2VzIG9mIHRoZSB3aGl0ZSBiYWNrZ3JvdW5kIHRvCmFsaWduIHdpdGggdGhlIHRoaWNrIGdyYXkgbGluZXMgaW4gdGhlIGltYWdlLiAgVGhpcyBwYXJhZ3JhcGggc2hvdWxkCmhhdmUgYSB3aGl0ZSBiYWNrZ3JvdW5kLCBmaXJzdCBvZiBhbGwsIHdoaWNoIGV4dGVuZHMgdG8gdGhlIGVkZ2VzIG9mCnRoZSBlbGVtZW50J3MgYm94LiAgVGhlcmUgaXMgbm8gcGFkZGluZyBzZXQgb24gdGhpcyBwYXJhZ3JhcGgKd2hhdHNvZXZlci4gPC9wPgo8cCBjbGFzcz0idGVzdCI+CjxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvY3Jvc3NoYWlyLmdpZiIgaWQ9ImltZzQiIGFsdD0iW0ltYWdlXSI+IFRoZQppbWFnZSBpbiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgb2YgdGhpcyBwYXJhZ3JhcGggc2hvdWxkIGJlIGZsb2F0ZWQKbGVmdCwgYW5kIHRoZSBlZGdlcyBvZiB0aGUgd2hpdGUgYmFja2dyb3VuZCBzaG91bGQgbGluZSB1cCB3aXRoIHRoZSB0b3AKYW5kIGxlZnQgZWRnZXMgb2YgdGhlIGltYWdlLiAgSG93ZXZlciwgdGhlcmUgc2hvdWxkIGJlIDMwIHBpeGVscyBvZgpzcGFjZSBiZXR3ZWVuIHRoZSByaWdodCBhbmQgYm90dG9tIGVkZ2VzIG9mIHRoZSBpbWFnZSBhbmQgdGhlIHBhcmFncmFwaAp0ZXh0IGFyb3VuZCBpdC4gIFRoaXMgcGFyYWdyYXBoIHNob3VsZCBoYXZlIGEgd2hpdGUgYmFja2dyb3VuZCwgZmlyc3QKb2YgYWxsLCB3aGljaCBleHRlbmRzIHRvIHRoZSBlZGdlcyBvZiB0aGUgZWxlbWVudCdzIGJveC4gIFRoZXJlIGlzIG5vCnBhZGRpbmcgc2V0IG9uIHRoaXMgcGFyYWdyYXBoIHdoYXRzb2V2ZXIuIDwvcD4KPHAgY2xhc3M9InRlc3QiPgo8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2Nyb3NzaGFpci5naWYiIGlkPSJpbWc1IiBhbHQ9IltJbWFnZV0iPiBUaGUKaW1hZ2UgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBmbG9hdGVkCmxlZnQsIGFuZCB0aGUgZWRnZXMgb2YgdGhlIHdoaXRlIGJhY2tncm91bmQgc2hvdWxkIGxpbmUgdXAgd2l0aCB0aGUgdG9wCmFuZCBsZWZ0IGVkZ2VzIG9mIHRoZSBpbWFnZS4gIEhvd2V2ZXIsIHRoZSB0ZXh0IHNob3VsZCBvdmVybGFwIHRoZQppbWFnZSdzIHJpZ2h0IGFuZCBib3R0b20gc2lkZXMsIGxpbmluZyB1cCB3aXRoIHRoZSB0aGljayBncmF5IGxpbmVzIGluCnRoZSBpbWFnZS4gIFRoaXMgcGFyYWdyYXBoIHNob3VsZCBoYXZlIGEgd2hpdGUgYmFja2dyb3VuZCwgZmlyc3Qgb2YKYWxsLCB3aGljaCBleHRlbmRzIHRvIHRoZSBlZGdlcyBvZiB0aGUgZWxlbWVudCdzIGJveC4gIFRoZXJlIGlzIG5vCnBhZGRpbmcgc2V0IG9uIHRoaXMgcGFyYWdyYXBoIHdoYXRzb2V2ZXIuIDwvcD4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2JvZHk+PC9odG1sPg==