PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVNoaWZ0X0pJUyI+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4NCjxsaW5rIHJlbD0idXAiIHRpdGxlPSJGYXRGcyIgaHJlZj0iLi4vMDBpbmRleF9qLmh0bWwiPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9jc3Nfai5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiB0aXRsZT0iRUxNIERlZmF1bHQiPg0KPHRpdGxlPkZhdEZzIC0gZl9vcGVuPC90aXRsZT4NCjwvaGVhZD4NCg0KPGJvZHk+DQoNCjxkaXYgY2xhc3M9InBhcmEiPg0KPGgyPmZfb3BlbjwvaDI+DQo8cD6DdINAg0ODi4Lwg0mBW4N2g5OC3IK9gs2N7JCsgrWC3IK3gUI8L3A+DQo8cHJlPg0KRlJFU1VMVCBmX29wZW4gKA0KICBGSUwqIDxlbT5GaWxlT2JqZWN0PC9lbT4sICAgICAgIC8qIIvzgsyDdINAg0ODi4FFg0mDdYNXg0aDToNnjVyRopHMgtaCzIN8g0ODk4NeICovDQogIGNvbnN0IFhDSEFSKiA8ZW0+RmlsZU5hbWU8L2VtPiwgLyogg3SDQINDg4uCzIN0g4uDcINYlryC1oLMg3yDQ4OTg14gKi8NCiAgQllURSA8ZW0+TW9kZUZsYWdzPC9lbT4gICAgICAgICAvKiCDgoFbg2iDdIOJg08gKi8NCik7DQo8L3ByZT4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJwYXJhIj4NCjxoND6I+JCUPC9oND4NCjxkbCBjbGFzcz0icGFyIj4NCjxkdD5GaWxlT2JqZWN0PC9kdD4NCjxkZD6QVoK1gq2N7JCsgreC6YN0g0CDQ4OLgUWDSYN1g1eDRoNOg2eNXJGikcyC1oLMg3yDQ4OTg16C8I53kuiCtYLcgreBQojIjX6BQYK7gsyDdINAg0ODi4LwlcKCtoLpgtyCxYKxgsyDdINAg0ODi4FFg0mDdYNXg0aDToNngvCOZ5dwgrWCxIN0g0CDQ4OLkYCN7ILwgrWC3IK3gUI8L2RkPg0KPGR0PkZpbGVOYW1lPC9kdD4NCjxkZD6KSoKtKILcgr2CzY3skKyCt4LpKYN0g0CDQ4OLgswgPGEgaHJlZj0iZmlsZW5hbWUuaHRtbCI+g3SDQINDg4uWvDwvYT6CqpP8gsGCvTx0dD4nXDAnPC90dD6CxY9Jgu2C6ZW2jpqX8YLWgsyDfINDg5ODXoLwjneS6IK1gtyCt4FCPC9kZD4NCjxkdD5Nb2RlRmxhZ3M8L2R0Pg0KPGRkPoN0g0CDQ4OLgsyDQYNOg1qDWJX7lkCC4oNJgVuDdoOTlfuWQILwjIiC34Lpg3SDiYNPgsWCt4FCgrGCzINwg4mDgYFbg16CyYLNjp+CzJFngt2Nh4LtgrmC8I53kuiCtYLcgreBQjxicj4NCjx0YWJsZSBjbGFzcz0ibHN0Ij4NCjx0cj48dGg+kmw8L3RoPjx0aD6I05ahPC90aD48L3RyPg0KPHRyPjx0ZD5GQV9SRUFEPC90ZD48dGQ+k8eC3Y9vgrWDgoFbg2iCxYpKgquC3IK3gUKTx4Ldj5GCq4K3gumP6o2Hgs08dHQ+RkFfV1JJVEU8L3R0PoLGi6SCyY53kuiCtYLcgreBQjwvdGQ+PC90cj4NCjx0cj48dGQ+RkFfV1JJVEU8L3RkPjx0ZD6PkYKrjZ6C3YOCgVuDaILFikqCq4LcgreBQpPHgt2PkYKrgreC6Y/qjYeCzTx0dD5GQV9SRUFEPC90dD6CxoukgsmOd5LogrWC3IK3gUI8L3RkPjwvdHI+DQo8dHI+PHRkPkZBX09QRU5fRVhJU1RJTkc8L3RkPjx0ZD6K+ZG2gsyDdINAg0ODi4LwikqCq4LcgreBQoN0g0CDQ4OLgqqWs4KigsaCq4LNg0eDiYFbgsmCyILogtyCt4FCKINmg3SDSIOLg2cpPC90ZD48L3RyPg0KPHRyPjx0ZD5GQV9PUEVOX0FMV0FZUzwvdGQ+PHRkPor5kbaCzIN0g0CDQ4OLgvCKSoKrgtyCt4FCg3SDQINDg4uCqpazgqKCxoKrgs2DdINAg0ODi4LwjeyQrIK1gtyCt4FCPC90ZD48L3RyPg0KPHRyPjx0ZD5GQV9DUkVBVEVfTkVXPC90ZD48dGQ+g3SDQINDg4uC8I3skKyCtYLcgreBQpOvlryCzIN0g0CDQ4OLgqqCoILpj+qNh4LNgUGDR4OJgVuCyYLIguiC3IK3gUI8L3RkPjwvdHI+DQo8dHI+PHRkPkZBX0NSRUFURV9BTFdBWVM8L3RkPjx0ZD6DdINAg0ODi4LwjeyQrIK1gtyCt4FCk6+WvILMg3SDQINDg4uCqoKggumP6o2Hgs2BQYNUg0ODWYLwMILJgrWCxIKpgueKSoKrgtyCt4FCPC90ZD48L3RyPg0KPC90YWJsZT4NCjwvZGQ+DQo8L2RsPg0KPC9kaXY+DQoNCg0KPGRpdiBjbGFzcz0icGFyYSI+DQo8aDQ+lt+C6JJsPC9oND4NCjxkbCBjbGFzcz0icmV0Ij4NCjxkdD5GUl9PSyAoMCk8L2R0Pg0KPGRkPpCzj+2PSZe5gUKIyI1+gUE8dHQ+RmlsZU9iamVjdDwvdHQ+jVyRopHMgvCOZ4LBgsSCsYLMg3SDQINDg4uC8JGAjeyCxYKrgtyCt4FCPC9kZD4NCjxkdD5GUl9OT19GSUxFPC9kdD4NCjxkZD6DdINAg0ODi4KqjKmCwoKpgueCyIKigUI8L2RkPg0KPGR0PkZSX05PX1BBVEg8L2R0Pg0KPGRkPoNwg1iCqoypgsKCqYLngsiCooFCPC9kZD4NCjxkdD5GUl9JTlZBTElEX05BTUU8L2R0Pg0KPGRkPoN0g0CDQ4OLlryCqpVzkLOBQjwvZGQ+DQo8ZHQ+RlJfSU5WQUxJRF9EUklWRTwvZHQ+DQo8ZGQ+g2iDiYNDg3WU1I2GgqqVc5CzgUI8L2RkPg0KPGR0PkZSX0VYSVNUPC9kdD4NCjxkZD6Tr5a8gsyDdINAg0ODi4KqivmCyYKggumBQjwvZGQ+DQo8ZHQ+RlJfREVOSUVEPC9kdD4NCjxkZD6DQYNOg1qDWIKqi5GU24KzguqCvYFCg4qBW4NogUWDSYOTg4qBW4FFg3SDQINDg4uCzI+RgquNnoLdg4KBW4NogUWDSYFbg3aDk4FBk6+WvILMg2aDQoOMg06DZ4OKgtyCvYLNg4qBW4NogUWDSYOTg4qBW4FFg3SDQINDg4uCqoKggumP85HUgsWCzIN0g0CDQ4OLjeyQrIFBg2aDQoNYg06C3IK9gs2DZoNCg4yDToNng4qBRYNlgVuDdYOLgqqWnpR0gsWDdINAg0ODi4LwjeyQrILFgquCyIKigsiCx4FCPC9kZD4NCjxkdD5GUl9OT1RfUkVBRFk8L2R0Pg0KPGRkPoOBg2aDQoNBgqqDWoNig2eCs4LqgsSCooLIgqKCyILHgUGVqJedg2iDiYNDg3WCqpOujeyVc5Rcj/OR1IFCPC9kZD4NCjxkdD5GUl9XUklURV9QUk9URUNURUQ8L2R0Pg0KPGRkPoOBg2aDQoNBgqqPkYKrjZ6C3YvWjn6P85HUgsWPkYKrjZ6C3Yxug0mBW4N2g5OC8IK1gr2BQjwvZGQ+DQo8ZHQ+RlJfRElTS19FUlI8L2R0Pg0KPGRkPoNmg0KDWINOgUWDR4OJgVuCyYLmgumOuJRzgUI8L2RkPg0KPGR0PkZSX0lOVF9FUlI8L2R0Pg0KPGRkPpVzkLOCyEZBVI1ckaKC3IK9gs2T4JWUg0eDiYFbgsmC5oLpjriUc4FCPC9kZD4NCjxkdD5GUl9OT1RfRU5BQkxFRDwvZHQ+DQo8ZGQ+gruCzJhfl52DaIOJg0ODdYLJg4+BW4NOgUWDR4OKg0GCqoqEguiTloLEgueC6oLEgqKCyIKigUI8L2RkPg0KPGR0PkZSX05PX0ZJTEVTWVNURU08L2R0Pg0KPGRkPoNmg0KDWINOj+OCyZdMjPiCyEZBVIN7g4qDhYFbg4CCqoypgsKCqYLngsiCooFCPC9kZD4NCjwvZGw+DQo8L2Rpdj4NCg0KDQo8ZGl2IGNsYXNzPSJwYXJhIj4NCjxoND6J8JDgPC9oND4NCjxwPor5kbaCzIN0g0CDQ4OLgvCKSoKigr2C6IFBkFaCtYKig3SDQINDg4uC8I3skKyCtYLcgreBQorWkJSCqpCsjPeCt4LpgsaDdINAg0ODi4FFg0mDdYNXg0aDToNngqqN7JCsgrOC6oFBiMiNfoK7gsyDdINAg0ODi4LJkc6Ct4Lpg0GDToNag1iCyY5nl3CCtYLcgreBQoN0g0CDQ4OLgvCVwoK2gumCxoKrgs2BQTxhIGhyZWY9ImNsb3NlLmh0bWwiPmZfY2xvc2UoKTwvYT6C8I5nl3CCtYLcgreBQom9gueCqYLMlc+NWIKqjXOC7YLqgr2DdINAg0ODi4KqgruCzIzjkLOCtYKtlcKCtoLnguqCyIKpgsGCvY/qjYeBQYK7gsyDdINAg0ODi4KqlGqRuYK3gumP6o2HgqqCoILogtyCt4FCPC9wPg0KPHA+g3SDQINDg4uBRYNBg06DWoNYgvCKSo5ugreC6ZFPgsmBQTxhIGhyZWY9Im1vdW50Lmh0bWwiPmZfbW91bnQoKTwvYT6C8I5ngsGCxIK7guqCvILqgsyYX5edg2iDiYNDg3WCyYOPgVuDToFFg0eDioNBKIN0g0CDQ4OLgUWDVoNYg2WDgIFFg0mDdYNXg0aDToNnKYLwl16CpoLplUuXdoKqgqCC6ILcgreBQoKxgsyPiYr6ibuCzIzjgUGCu4LMmF+XnYNog4mDQ4N1gsmRzoK1gsSRU4LEgsyDdINAg0ODi4rWkJSCqo5ngqaC6YLmgqSCyYLIguiC3IK3gUI8L3A+DQo8L2Rpdj4NCg0KDQo8ZGl2IGNsYXNzPSJwYXJhIj4NCjxoND6Rzomej+6V8TwvaDQ+DQo8cD6RU4LEgsyNXJCsgsWOZ5dwicKUXILFgreBQjx0dD5fRlNfUkVBRE9OTFkgPT0gMTwvdHQ+gsyCxoKrgs2BQTx0dD5GQV9XUklURSwgRkFfQ1JFQVRFX0FMV0FZUywgRkFfQ1JFQVRFX05FVywgRkFfT1BFTl9BTFdBWVM8L3R0PoLMimWDdIOJg0+CzYNUg3yBW4NngrOC6oLcgrmC8YFCPC9wPg0KPC9kaXY+DQoNCg0KPGRpdiBjbGFzcz0icGFyYSI+DQo8aDQ+jmeXcJfhgWmDdINAg0ODi4FFg1KDc4FbgWo8L2g0Pg0KPHByZT4NCnZvaWQgbWFpbiAodm9pZCkNCnsNCiAgICBGQVRGUyBmc1syXTsgICAgICAgICAvKiCYX5edg2iDiYNDg3WCzIOPgVuDToFFg0eDioNBKIN0g0CDQ4OLgUWDVoNYg2WDgIFFg0mDdYNXg0aDToNnKSAqLw0KICAgIEZJTCBmc3JjLCBmZHN0OyAgICAgIC8qIIN0g0CDQ4OLgUWDSYN1g1eDRoNOg2cgKi8NCiAgICBCWVRFIGJ1ZmZlcls0MDk2XTsgICAvKiBmaWxlIGNvcHkgYnVmZmVyICovDQogICAgRlJFU1VMVCByZXM7ICAgICAgICAgLyogRmF0RnMgZnVuY3Rpb24gY29tbW9uIHJlc3VsdCBjb2RlICovDQogICAgVUlOVCBiciwgYnc7ICAgICAgICAgLyogRmlsZSBSL1cgY291bnQgKi8NCg0KICAgIC8qIINog4mDQ4N1MCwxgsmDj4Fbg06BRYNHg4qDQYLwl16CpoLpICovDQogICAgZl9tb3VudCgwLCAmYW1wO2ZzWzBdKTsNCiAgICBmX21vdW50KDEsICZhbXA7ZnNbMV0pOw0KDQogICAgLyogg2iDiYNDg3UxgsyDXIFbg1iBRYN0g0CDQ4OLgvCKSoKtICovDQogICAgcmVzID0gZl9vcGVuKCZhbXA7ZnNyYywgIjE6c3JjZmlsZS5kYXQiLCBGQV9PUEVOX0VYSVNUSU5HIHwgRkFfUkVBRCk7DQogICAgaWYgKHJlcykgZGllKHJlcyk7DQoNCiAgICAvKiCDaIOJg0ODdTCCyYNmg1iDZYNCg2yBW4NWg4eDk4FFg3SDQINDg4uC8I3skKyCt4LpICovDQogICAgcmVzID0gZl9vcGVuKCZhbXA7ZmRzdCwgIjA6ZHN0ZmlsZS5kYXQiLCBGQV9DUkVBVEVfQUxXQVlTIHwgRkFfV1JJVEUpOw0KICAgIGlmIChyZXMpIGRpZShyZXMpOw0KDQogICAgLyogg1yBW4NYgqmC54Nmg1iDZYNCg2yBW4NWg4eDk4LJg1KDc4FbgreC6SAqLw0KICAgIGZvciAoOzspIHsNCiAgICAgICAgcmVzID0gZl9yZWFkKCZhbXA7ZnNyYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgJmFtcDticik7DQogICAgICAgIGlmIChyZXMgfHwgYnIgPT0gMCkgYnJlYWs7ICAgLyogg0eDiYFbgqmDdINAg0ODi49JklsgKi8NCiAgICAgICAgcmVzID0gZl93cml0ZSgmYW1wO2Zkc3QsIGJ1ZmZlciwgYnIsICZhbXA7YncpOw0KICAgICAgICBpZiAocmVzIHx8IGJ3ICZsdDsgYnIpIGJyZWFrOyAgIC8qIINHg4mBW4Kpg2aDQoNYg06WnpR0ICovDQogICAgfQ0KDQogICAgLyogkVOCxILMg3SDQINDg4uC8JXCgraC6SAqLw0KICAgIGZfY2xvc2UoJmFtcDtmc3JjKTsNCiAgICBmX2Nsb3NlKCZhbXA7ZmRzdCk7DQoNCiAgICAvKiCDj4Fbg06BRYNHg4qDQYLwikqV+oK3gukgKi8NCiAgICBmX21vdW50KDAsIE5VTEwpOw0KICAgIGZfbW91bnQoMSwgTlVMTCk7DQp9DQo8L3ByZT4NCjwvZGl2Pg0KDQoNCjxkaXYgY2xhc3M9InBhcmEiPg0KPGg0Po5Rj8Y8L2g0Pg0KPHA+PHR0PjxhIGhyZWY9InJlYWQuaHRtbCI+Zl9yZWFkPC9hPiwgPGEgaHJlZj0id3JpdGUuaHRtbCI+Zl93cml0ZTwvYT4sIDxhIGhyZWY9ImNsb3NlLmh0bWwiPmZfY2xvc2U8L2E+LCA8YSBocmVmPSJzZmlsZS5odG1sIj5GSUw8L2E+LCA8YSBocmVmPSJzZmF0ZnMuaHRtbCI+RkFURlM8L2E+PC90dD48L3A+DQo8L2Rpdj4NCg0KPHAgY2xhc3M9ImZvb3QiPjxhIGhyZWY9Ii4uLzAwaW5kZXhfai5odG1sIj6W34LpPC9hPjwvcD4NCjwvYm9keT4NCjwvaHRtbD4NCg==