LyoKICogQ29weXJpZ2h0IDIwMDQgSWx5YSBLb3JuaXlrbwogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgovKgogKiBXQVJOSU5HOiBETyBOT1QgQ0hBTkdFIFRIRSBTSVpFIE9GIFRIRSBTVEFOREFSRCBESUFMT0cgVEVNUExBVEVTLgogKi8KCkxBTkdVQUdFIExBTkdfVUtSQUlOSUFOLCBTVUJMQU5HX0RFRkFVTFQKCk9QRU5fRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsKz5Orw6PLoIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImsuwn/yD04Onr8zoiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJtLl6ug6IiwgLTEsIDExMCwgNiwgOTIsIDkKIExURVhUICIiLCAxMDg4LCAxMTAsIDE4LCA5MiwgOSwgU1NfTk9QUkVGSVggfCBXU19HUk9VUAogTElTVEJPWCAxMTIxLCAxMTAsIDMyLCA5MiwgNjgsIExCU19TVEFOREFSRCB8IExCU19PV05FUkRSQVdGSVhFRCB8IExCU19IQVNTVFJJTkdTIHwgTEJTX0RJU0FCTEVOT1NDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICLP7urg5/Pi4PLoIPTg6evoICby6O/zOiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImxOjx6ug6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICLCs+Tq8Ojy6CIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLCs+Tss+3gIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImxO7is+Tq4CIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJsvo+OUg5Ov/IPfo8uDt7f8iLCAxMDQwLCAyMDgsIDY4LCA1NCwgMjQsIEJTX0FVVE9DSEVDS0JPWCB8IEJTX01VTFRJTElORSAgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClNBVkVfRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsfh5fDl4/LoIP/qLi4uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImJrLsJ/8g9ODp6/M6IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIibS5eroOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiz+7q4Ofz4uDy6CD04Onr6CAm8ujv8zoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJsTo8eroOiIsIDEwOTEsIDExMCwgMTA0LCA5MiwgOQogQ09NQk9CT1ggMTEzNywgMTEwLCAxMTQsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAix+Hl8OXj8ugg/+oiLCBJRE9LLCAyMDgsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiwrPk7LPt4CIsIElEQ0FOQ0VMLCAyMDgsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJsTu4rPk6uAiLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIibL6PjlIOTr/yD36PLg7e3/IiwgMTA0MCwgMjA4LCA2OCwgNTQsIDI0LCBCU19BVVRPQ0hFQ0tCT1ggfCBCU19NVUxUSUxJTkUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAixPDz6iIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiz/Do7fLl8DoiLCAxMDg4LCA2LCA2LCA0MCwgOQogTFRFWFQgIiIsIDEwODksIDYwLCA2LCAxNTAsIDkKIEdST1VQQk9YICLE8PPq8+Lg8ugiLCAxMDcyLCA2LCAzMCwgMTYwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICImwvHlIiwgMTA1NiwgMTYsIDQ1LCA2MCwgMTIKIFJBRElPQlVUVE9OICLCJujks+vl7e3o6SD08ODj7OXt8iIsIDEwNTcsIDE2LCA2MCwgNjAsIDEyCiBSQURJT0JVVFRPTiAiJtHy7vCz7eroIiwgMTA1OCwgMTYsIDc1LCA2MCwgMTIKIERFRlBVU0hCVVRUT04gIsTw8+oiLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiwrPk7LPt4CIsIElEQ0FOQ0VMLCAyMDYsIDI0LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiwuvg8fLo4u7x8rMiLCAxMDI0LCAyMDYsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIibnOiIsIDEwOTAsIDYwLCA4MCwgMzAsIDkKIExURVhUICIm5O46IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICIm3+qz8fL8IOTw8+rzOiIsIDEwOTIsIDYsIDEwMCwgNzYsIDkKIENPTUJPQk9YIDExMzYsIDgwLCAxMDAsIDkyLCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIsTw8+og5O4g9ODp6/MiLCAxMDQwLCAyMCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggItHy6PHr7iIsIDEwNDEsIDE2MCwgMTAwLCA1MCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlRfU0VUVVAgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNjQsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLN4PHy8O7p6uAg7/Do7fLl8OAiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogR1JPVVBCT1ggIs/w6O3y5fAiLCAxMDcyLCA2LCAxMCwgMTgwLCA2NSwgQlNfR1JPVVBCT1gKIFJBRElPQlVUVE9OICLP8Ojt8uXwIOfgICbu4fPs7uLr5e3t/+wiLCAxMDU2LCAxNiwgMjAsIDgwLCAxMgogTFRFWFQgIlvN5ezgXSIsIDEwODgsIDM1LCAzNSwgMTIwLCA5CiBSQURJT0JVVFRPTiAiJrLt+OjpIO/w6O3y5fAiLCAxMDU3LCAxNiwgNTAsIDgwLCAxMgogQ09NQk9CT1ggMTEzNiwgMzUsIDY1LCAxNDksIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLCs+Tss+3gIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImzeDx8vDu6ergIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICLO8LO67fLg9rP/IiwgMTA3MywgNiwgODUsIDEwMCwgNTAsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJsrt6Obt4CIsIDEwNTgsIDUwLCAxMDAsIDQwLCAxMgogUkFESU9CVVRUT04gIibA6/zh7uzt4CIsIDEwNTksIDUwLCAxMTUsIDQwLCAxMgogSUNPTiAiTEFORFNDQVAiLCAxMDk3LCAxMCwgOTUsIDMyLCAzMgogSUNPTiAiUE9SVFJBSVQiLCAxMDk4LCAxMCwgOTUsIDMyLCAzMgogR1JPVVBCT1ggIs/g77PwIiwgMTA3NCwgMTIwLCA4NSwgMTgwLCA1MCwgQlNfR1JPVVBCT1gKIExURVhUICLQ7ibn7LPwIiwgMTA4OSwgMTMwLCA5NSwgMzAsIDkKIExURVhUICImxObl8OXr7iIsIDEwOTAsIDEzMCwgMTEwLCAzMCwgOQogQ09NQk9CT1ggMTEzNywgMTU1LCA5NSwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBDT01CT0JPWCAxMTM4LCAxNTUsIDExMCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCn0KCgpDSE9PU0VfRk9OVCBESUFMT0cgRElTQ0FSREFCTEUgIDEzLCA1NCwgMjY0LCAxNDcKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi2PDo9PIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAgICAgICAgICIm2PDo9PI6IiwxMDg4ICw2LDMsNDAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzYgLDYsMTMsOTQsNTQsICBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIibR8ujr/DoiLDEwODkgLDEwOCwzLDQ0LDkKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDEwOCwxMyw2NCw1NCwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TSU1QTEUKICAgIExURVhUICAgICAgICAgICAiJtDu5+yz8DoiLDEwOTAsMTc5LDMsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzgsMTc5LDEzLDMyLDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRSB8IENCU19TT1JUCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDIxOCw2LDQwLDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgfCBCU19ERUZQVVNIQlVUVE9OCiAgICBQVVNIQlVUVE9OICAgICAgIsKz5Oyz7eAiLElEQ0FOQ0VMLDIxOCwyMyw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiJsfg8fLu8fPi4PLoIiwgMTAyNiwyMTgsNDAsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibE7uKz5OrgIiAsIDEwMzgsMjE4LDU3LDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICLA8vDo4fPy6CIsMTA3Miw2LDcyLDg0LDM0LFdTX0dST1VQCiAgICBDSEVDS0JPWAkgICAgIibH4Orw5fHr5e3o6SIsIDEwNDAsIDEwLDgyLDc1LDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiAgICBDSEVDS0JPWCAJICAgICImz7Pk6vDl8evl7ejpIiwgMTA0MSwgMTAsOTQsNzUsMTAsIEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAgICAgICAgICImyu7rs/A6IiwgMTA5MSAsNiwxMTAsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzksNiwxMjAsODQsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICImx/Dg5+7qIixncnAyLDk4LDcyLDEyMCwzNixXU19HUk9VUAogICAgQ1RFWFQgICAgICAgICAgICLA4MHhQWFCYiIsc3RjNSwxMDMsODAsMTA5LDI0LFNTX05PUFJFRklYIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExURVhUICAgICAgICAgICAi0erw6O/yOiIsc3RjNyAsOTgsMTE0LDgwLDkKICAgIENPTUJPQk9YICAgICAgICBjbWI1LDk4LDEyNCwxMjAsOTAsQ0JTX0RST1BET1dOTElTVCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgoKQ0hPT1NFX0NPTE9SIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMzEwLCAxODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAix+yz7eAg7+Drs/Lw6CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJsHg5+7i4CDv4Ouz8vDgOiIsICAgMTA4OCwgNCwgICAgNCwgIDE0MCwgMTAKIExURVhUICLEJu7k4PLq7uKzIOru6/zu8Og6IiwgIDEwODksIDQsICAgMTA2LCAxNDAsIDEwCiBMVEVYVCAiyu7rs/B8x+Am6+ji6uAiLCAgMTA5MCwgMTUwLCAxNTEsICA0OCwgMTAKIExURVhUICAgIibX5fDi7u3o6ToiLCA3MjYgLyoxMDk0Ki8sMjU0LDEyNiwzMiwxMAogRURJVFRFWFQgNzA2LCAyODgsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgIibH5evl7ejpOiIsNzI3LyoxMDk1Ki8sMjU0LDE0MCwzMiwxMAogRURJVFRFWFQgNzA3LCAyODgsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAgItEm6O2z6ToiLDcyOCAvKjEwOTYqLywyNjQsMTU0LDI0LDEwCiBFRElUVEVYVCA3MDgsIDI4OCwxNTIsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICLCs+Qm8rPt7uo6IiAsNzIzIC8qMTA5MSovLDIwMiwxMjYsMzAsMTAKIEVESVRURVhUIDcwMywgMjM0LDEyNCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgIibK7u3y8ODx8joiICw3MjQgLyoxMDkyKi8sMTk5LDE0MCwzNCwxMAogRURJVFRFWFQgNzA0LCAyMzQsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJt/x6vDg4rPx8vw6IiAsNzI1IC8qMTA5MyovLDIwMiwxNTQsMzAsMTAKIEVESVRURVhUIDcwNSwgMjM0LDE1MiwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDT05UUk9MICIiICw3MjAsIlNUQVRJQyIsU1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsNCwxNCwxNDAsODYKIENPTlRST0wgIiIgLDcyMSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDExNiwxNDAsMjgKIENPTlRST0wgIiIgLDcxMCwiU1RBVElDIixXU19CT1JERVJ8U1NfU0lNUExFfFdTX1RBQlNUT1B8V1NfR1JPVVAsIDE1Miw0LDExOCwxMTYKIENPTlRST0wgIiIgLDcwMiwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMjc4LDQsOCwxMTYKIENPTlRST0wgIiIgLDcwOSwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDEyNCw0MCwyNgogREVGUFVTSEJVVFRPTiAiT0siLCAgSURPSywgIDQsIDE2NiwgNDQsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLCs+Tss+3gIiwgSURDQU5DRUwsIDUyLCAxNjYsIDQ0LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLE7uKz5OrgIiwgMTAzOCwxMDAsMTY2LCA0NCwgMTQKIFBVU0hCVVRUT04gIibE7uTg8ugg5O4g7eDh7vDzIiwgICAgNzEyLyoxMDI0Ki8sIDE1MiwgMTY2LCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIibC6Oft4Pfo8ugg6u7rs/AgPj4iLCA3MTkvKjEwMjUqLywgICA0LCAxNTAsIDE0MiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAgIiZpIiw3MTMsMzAwLDIwMCw0LDE0ICAgLyoganVzdCBhIGR1bW15OiAgJ2knIGlzICBsaWtlICAmaSAgaW4gInNvbCZpZCIgICovCn0KCgpGSU5ERExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjQ1LCA2MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLP7vjz6iIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJsfw4Ofu6joiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIDExNTIsIDQ3LCA3LCAxMzgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIibL6PjlIPHr7uLuIPaz6+ru7CIsIDEwNDAsIDQsIDI2LCAxMDAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLH4Ouz6iAm8OW0s/Hy8PMiLCAxMDQxLCA0LCA0MiwgMTAwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAogR1JPVVBCT1ggIs3g7/D/7CIsIDEwNzIsIDEwNywgMjYsIDc4LCAyOAogQ09OVFJPTCAiJsLj7vDzIiwgMTA1NiwgIkJVVFRPTiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0NISUxEIHwgV1NfVklTSUJMRSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwgMTExLCAzOCwgNDAsIDEyCiBDT05UUk9MICLCJu3o5yIsIDEwNTcsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19UQUJTVE9QLCAxNTIsIDM4LCAzMCwgMTIKCiBERUZQVVNIQlVUVE9OICLHJu3g6fLoIOTg67MiLCBJRE9LLCAxOTAsICA1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUCB8IEJTX0RFRlBVU0hCVVRUT04KIFBVU0hCVVRUT04gIsKz5Oyz7eAiLCBJRENBTkNFTAkgLCAxOTAsIDIzLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJsTu4rPk6uAiLCBwc2hIZWxwCSAsIDE5MCwgNDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpSRVBMQUNFRExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjMwLCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLH4Oyz7eAiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIibH8ODn7uo6IiwgLTEsIDQsIDksIDQ4LCA4CiBFRElUVEVYVCAxMTUyLCA1NCwgNywgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICLHJuDss+3o8ugg7eA6IiwgLTEsIDQsIDI2LCA0OCwgOAogRURJVFRFWFQgMTE1MywgNTQsIDI0LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIibL6PjlIPHr7uLuIPaz6+ru7CIsIDEwNDAsIDUsIDQ2LCAxMDQsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICLH4Ouz6iAm8OW0s/Hy8PMiLCAxMDQxLCA1LCA2MiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUAoKIERFRlBVU0hCVVRUT04gIscm7eDp8ugg5ODrsyIsIElET0ssIDE3NCwgIDQsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QIHwgQlNfREVGUFVTSEJVVFRPTgogUFVTSEJVVFRPTiAiJsfg7LPt6PLoIiwgcHNoMQkgLCAxNzQsIDIxLCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAix+Dss+3o8uggJuLx5SIsIHBzaDIgLCAxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiwrPk7LPt4CIsIElEQ0FOQ0VMCSAsIDE3NCwgNTUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImxO7is+Tq4CIsIHBzaEhlbHAJICwgMTc0LCA3NSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKUFJJTlQzMiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICLE8PPqIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIERFRlBVU0hCVVRUT04gICAiT0siLCAgICAgSURPSywgICAgIDE4MCwxNjQsIDQ4LDE0LCBXU19HUk9VUCB8IEJTX0RFRlBVU0hCVVRUT04KICAgIFBVU0hCVVRUT04gICAgICAiwrPk7LPt4CIsIElEQ0FOQ0VMLCAyMzIsMTY0LCA0OCwxNCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJsTu4rPk6uAiLCAgcHNoSGVscCwgIDUwLCAxNjEsIDQ4LDE0LCBXU19HUk9VUAoKICAgIEdST1VQQk9YICAgICAgICAiz/Do7fLl8CIsICAgICAgICBncnA0LCAgIDgsICA0LCAyNzIsODQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIsTw8+og8yD04Okm6yIsIGNoeDEsICJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKICAgIFBVU0hCVVRUT04gICAgICAiJsLr4PHy6OLu8fKzIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImsuwn/zoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICA0Niw4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iNCwgIDY0LCAxOCwgMTQwLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItHy4PLz8ToiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDQ2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgICAgc3RjMTIsIDY0LCAzNiwgMTAwLDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgItLo7zoiLCAgICAgICAgICBzdGM3LCAgMTYsIDQ4LCAgNDYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIsXs8+v87uLg7e4iLCAgICAgc3RjMTEsIDY0LCA0OCwgMTAwLDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIsyz8fblOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDQ2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgc3RjMTQsIDY0LCA2MCwgMTAwLDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIs/w6Oyz8urgOiIsICAgIHN0YzksICAxNiwgNzIsICA0NiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAixezz6/zu4uDt7iIsICAgc3RjMTMsIDY0LCA3MiwgMTAwLDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCgogICAgR1JPVVBCT1ggICAgICAgICLK7u+zvyIsICAgICAgICAgZ3JwMiwgMTYwLCA5MiwgMTIwLDY0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLX6PHr7iAm6u7vs+k6IixzdGM1LDE2OCwxMDgsNjgsOAogICAgSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzMsIDE2MiwxMjQsICA2MCwyNCwgV1NfR1JPVVAgfCBTU19DRU5URVJJTUFHRQogICAgQ09OVFJPTCAgICAgICAgICIm0O7n4ejy6CIsICAgICAgIGNoeDIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIzMCwxMzAsNDIsMTIKICAgIEVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQzLCAyMzAsMTA2LCAgNDIsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCgogICAgR1JPVVBCT1ggICAgICAgICLE8PPq8+Lg8ugiLCAgICBncnAxLCAgIDgsOTIsICAxNDQsNjQsIFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIibC8eUiLCAgICAgICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsMTA2LDY0LDEyCiAgICBDT05UUk9MICAgICAgICAgIibR8u7ws+3q6CIsICAgICAgICAgcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDUwLDEyCiAgICBDT05UUk9MICAgICAgICAgIibC6OSz6+Xt7f8iLCAgICAgcmFkMiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTM4LDY0LDEyCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MSwgIDg1LDEyMiwgIDIwLDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgogICAgRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDIsIDEyMCwxMjIsICAyMCwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKICAgIFJURVhUICAgICAgICAgICAiJuKz5DoiLCAgICAgICAgIHN0YzIsICA3MCwxMjQsICAxMiw4CiAgICBSVEVYVCAgICAgICAgICAgIibk7joiLCAgICAgICAgICAgc3RjMywgMTA2LDEyNCwgIDEwLDgKfQoKUFJJTlQzMl9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICLT8fLg7e7i6ugg7/Do7fLl8OAiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDE1Niw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICLCs+Tss+3gIixJRENBTkNFTCwyMzIsMTU2LDQ4LDE0Ci8qICAgIFBVU0hCVVRUT04gICAgICAi0bPy6uAuLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgogICAgR1JPVVBCT1ggICAgICAgICLP8Ojt8uXwIiwgICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiJsLr4PHy6OLu8fKzIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImsuwn/zoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMSwgIDUyLCAxOCwgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItHy4PLz8ToiLCAgICAgICAgc3RjOCwgIDE2LCAzNiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgItLo7zoiLCAgICAgICAgICBzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIsXs8+v87uLg7e4iLCAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIsyz8fblOiIsICAgICAgICAgc3RjMTAsIDE2LCA2MCwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICLF7PPr/O7i4O3uIiwgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIs/w6Oyz8uroOiIsICAgICAgIHN0YzksICAxNiwgNzIsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAixezz6/zu4uDtsyIsICAgc3RjMTMsIDUyLCA3MiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCgogICAgR1JPVVBCT1ggICAgICAgICLP4O+z8CIsICAgICAgICAgIGdycDIsICAgOCwgOTIsIDE2NCw1NiwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAi0O7nJuyz8DoiLCAgICAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjIsICA1MiwxMDYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImxObl8OXr7joiLCAgICAgICBzdGMzLCAgMTYsMTI4LCAgMzYsIDgKICAgIENPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgICBjbWIzLCAgNTIsMTI2LCAxMTIsMTEyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKCiAgICBHUk9VUEJPWCAgICAgICAgIs7ws7rt8uD2s/8iLCAgICBncnAxLCAxODAsIDkyLCAxMDAsNTYsIFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMSwgMTk1LDExMiwgIDE4LDIwLCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICImz+7w8vDl8iIsICAgICAgcmFkMSwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCBXU19HUk9VUCB8V1NfVEFCU1RPUCwyMjQsMTA2LDUyLDEyCiAgICBDT05UUk9MICAgICAgICAgIssm4O3k+OD08iIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwyMjQsMTI2LDUyLDEyCkVORAoKTkVXRklMRU9QRU5PUkQgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAxNjQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX0NPTlRFWFRIRUxQIHwgV1NfVklTSUJMRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBXU19DTElQQ0hJTERSRU4KQ0FQVElPTiAiwrPk6vDo8ugiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQJItjz6uDy6CAm4iIsSURDX0xPT0tJTlNUQVRJQyw0LDYsNDMsOCwgU1NfTk9USUZZCiAgICBDT01CT0JPWAlJRENfTE9PS0lOLDQ5LDMsMTMyLDEwMCxDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIExURVhUCSIiICwgSURDX1RPT0xCQVJTVEFUSUMsIDE4MSwgMiwgMTAyLCAxNywgTk9UIFdTX0dST1VQIHwgTk9UIFdTX1ZJU0lCTEUKICAgIExJU1RCT1gJSURDX1NIRUxMU1RBVElDLDQsMjAsMjcyLDg1LCBMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgTEJTX01VTFRJQ09MVU1OIHwgV1NfSFNDUk9MTCB8IE5PVCBXU19WSVNJQkxFCgogICAgTFRFWFQJIrLsJ/8gJvTg6evzOiIsSURDX0ZJTEVOQU1FU1RBVElDLDUsMTEyLDQ2LDgsIFNTX05PVElGWQogICAgRURJVFRFWFQJSURDX0ZJTEVOQU1FLDU0LDExMCwxNTUsMTIsRVNfQVVUT0hTQ1JPTEwKCiAgICBMVEVYVAki1ODp6+ggJvLo7/MiLElEQ19GSUxFVFlQRVNUQVRJQyw1LDEyOCw0Miw4LCBTU19OT1RJRlkKICAgIENPTUJPQk9YCUlEQ19GSUxFVFlQRSw1NCwxMjYsMTU1LDUzLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wJIsvo+OUg5Ov/ICb36PLg7e3/IixJRENfT1BFTlJFQURPTkxZLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNTQsMTQ1LDEwMCwxMAoKICAgIERFRlBVU0hCVVRUT04JIibCs+Tq8Ojy6CIsCQkgSURPSywyMjIsMTEwLDUwLDE0CiAgICBQVVNIQlVUVE9OCQkiwrPk7LPt4CIsCQkgSURDQU5DRUwsMjIyLDEyOCw1MCwxNAogICAgUFVTSEJVVFRPTgkJIibE7uKz5OrgIiwJCSBwc2hIZWxwLDIyMiwxNDUsNTAsMTQKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKewogICAgSURTX0FCT1VUQk9YICAgICAgICAgICAgIibP8O4g8uXx8iDC6OGz8NLl6ugiCiAgICBJRFNfRE9DVU1FTlRGT0xERVJTICAgICAi0uXq6CDk7urz7OXt8rPiIgogICAgSURTX1BFUlNPTkFMICAgICAgICAgICAgIszuvyDk7urz7OXt8ugiCiAgICBJRFNfRkFWT1JJVEVTICAgICAgICAgICAix+Dq6+Dk6ugiCiAgICBJRFNfUEFUSCAgICAgICAgICAgICAgICAi0ejx8uXs7ejpIPjr//UiCiAgICBJRFNfREVTS1RPUCAgICAgICAgICAgICAi0fKz6/zt6Pb/IgogICAgSURTX0ZPTlRTICAgICAgICAgICAgICAgItjw6PTy6CIKICAgIElEU19NWUNPTVBVVEVSICAgICAgICAgICLMs+kg6u7s7yf+8uXwIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfU1lTVEVNRk9MREVSUyAgICAgICAi0ejx8uXs7bMg8uXq6CIKICAgIElEU19MT0NBTEhBUkRSSVZFUyAgICAgICLL7urg6/ztsyDm7vDx8uqzIOTo8eroIgogICAgSURTX0ZJTEVOT1RGT1VORCAgICAgICAgItTg6esg7eUg5+3g6eTl7e4iCiAgICBJRFNfVkVSSUZZRklMRSAgICAgICAgICAiz+Xw5eKz8PLlLCD36CDv8ODi6Ov87e4g4urg5+Dt7iCz7Cf/IPTg6evzIgogICAgSURTX0NSRUFURUZJTEUgICAgICAgICAgItTg6esg7eUgs/Ht87pcbtfoIPXu9+Xy5SDC6CDp7uPuIPHy4u7w6PLoPyIKICAgIElEU19PVkVSV1JJVEVGSUxFICAgICAgICLU4OnrIPPm5SCz8e3zui5cbsfg7LPt6PLoIOnu4+4/IgogICAgSURTX0lOVkFMSURfRklMRU5BTUVfVElUTEUgIs3l4rPw7ejpIPHo7OLu6yDiIOfg7+jx8yD46//18yIKICAgIElEU19JTlZBTElEX0ZJTEVOQU1FICAgICKy7Cf/IPTg6evzIO3lIOzu5uUg7LPx8ujy6CDt4PHy8+/tsyDx6Ozi7uvoOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiAgICBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAi2Ov/9SDt5SCz8e3zuiIKICAgIElEU19GSUxFTk9URVhJU1RJTkcgICAgICLU4OnrIO3lILPx7fO6Igp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfVVBGT0xERVIgICAgICAgICAiwuPu8PMg7eAg7uTo7SDws+Ll7fwiCiAgICBJRFNfTkVXRk9MREVSICAgICAgICAi0fLi7vDo8ugg7e7i8yDy5erzIgogICAgSURTX0xJU1RWSUVXICAgICAgICAgItHv6PHu6iIKICAgIElEU19SRVBPUlRWSUVXICAgICAgICLP7uTw7uHo9rMiCiAgICBJRFNfVE9ERVNLVE9QICAgICAgICAiz+Xw5fWz5CDt4CDx8rPr/O3o9v4iCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIFBEMzJfUFJJTlRfVElUTEUgICAgICAgIsTw8+oiCgogICAgUEQzMl9WQUxVRV9VUkVBREFCTEUgICAgICAgICAgICAgICAgICAizeX36PLguuzo6SDl6+Xs5e3yIgogICAgUEQzMl9JTlZBTElEX1BBR0VfUkFOR0UgItblIOft4Pfl7e3/IO3lIOvl5ujy/CDzIOSz4O/g5+7tsyDx8u7ws+3u6lxuXArC4uXks/L8IOft4Pfl7e3lIOyz5iAlZCDy4CAlZCIKICAgIFBEMzJfRlJPTV9OT1RfQUJPVkVfVE8gICAgICAgICAgICAgICAgIsft4Pfl7e3/IMKyxCDt5SDv7uLo7e3uIO/l8OXi6Pnz4uDy6CDEzjoiCiAgICBQRDMyX01BUkdJTlNfT1ZFUkxBUCAgICAgICAgICAgICAgICAgICLM5eazIO/l8OXq8Oji4P7y/CD36CDv5fDl4uj58/7y/CBcCvDu5+yz8Ogg7+Dv5fDzLlxuwuLl5LPy/CC/9SDt4O3u4u4iCiAgICBQRDMyX05SX09GX0NPUElFU19FTVBUWSAgICAgICAgICAgICAgICLH7eD35e3t/yDX6PHr4CDK7u+z6SDt5SDs7ublIOHz8uggXArv8/Hy6OwiCiAgICBQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICLS4OrgIOLl6+jq4CDqs+v86rPx8vwg6u7vs+kg7eUgXArs7ublIOHz8ugg7eDk8PPq7uLg7eAgwuD46Owg7/Do7fLl8O7sLlxuwuLl5LPy/CDn7eD35e3t/yDss+YgMSDy4CAlZCIKICAgIFBEMzJfUFJJTlRfRVJST1IgICAgICAgICAgICAgICAgICAgICAgIsLo7ejq6+Ag7+7s6Ovq4CDv8Ojt8uXw4CIKICAgIFBEMzJfTk9fREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgIs3l7OC6IO/w6O3y5fDgLCDv7vHy4OLr5e3u4+4g5+Ag7uHz7O7i6+Xt7f/sIgogICAgUEQzMl9DQU5UX0ZJTkRfUFJJTlRFUiAgICAgICAgICAgICAgICAizeUg4uTg6+7x/CDn7eDp8ugg7/Do7fLl8CIKICAgIFBEMzJfT1VUX09GX01FTU9SWSAgICAgICAgICAgICAgICAgICAgIszg6+4g7+DsJ//ysyIKICAgIFBEMzJfR0VORVJJQ19FUlJPUiAgICAgICAgICAgICAgICAgICAgIsLo7ejq6+Ao6Ckg7+7s6Ovq4CjoKSIKICAgIFBEMzJfRFJJVkVSX1VOS05PV04gICAgICAgICAgICAgICAgICAgIs3l4rPk7uzo6SDk8ODp4uXwIO/w6O3y5fDgIgogICAgUEQzMl9OT19ERVZJQ0VTICAgICAgICAgICAgICAgICAgICAgICAiQmVmb3JlIHlvdSBjYW4gcGVyZm9ybSBwcmludGVyLXJlbGF0ZWQgdGFza3MgXApzdWNoIGFzIHBhZ2Ugc2V0dXAgb3IgcHJpbnRpbmcgYSBkb2N1bWVudCwgeW91IG5lZWQgdG8gaW5zdGFsbCBhIHByaW50ZXIuIFwKUGxlYXNlIGluc3RhbGwgb25lIGFuZCByZXRyeS4iCgogICAgUEQzMl9ERUZBVUxUX1BSSU5URVIgICAgICAgICAgICAgICAgICAiz/Do7fLl8CDn4CDu4fPs7uLr5e3t/+w7ICIKICAgIFBEMzJfTlJfT0ZfRE9DVU1FTlRTX0lOX1FVRVVFICAgICAgICAgIiVkIOTu6vPs5e3ys+Ig8yD35fDnsyIKICAgIFBEMzJfTUFSR0lOU19JTl9JTkNIRVMgICAgICAgICAgICAgICAgIszl5rMgIFvk/uns6F0iCiAgICBQRDMyX01BUkdJTlNfSU5fTUlMTElNRVRFUlMgICAgICAgICAgICLM5eazIFvs7F0iCiAgICBQRDMyX01JTExJTUVURVJTICAgICAgICAgICAgICAgICAgICAgICLs7CIKCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1JFQURZICAgICAgICAgICAgICLD7vLu4u4iCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBVVNFRCAgICAgICAgICAgICLP8Ojn8+/o7eXt7jsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUiAgICAgICAgICAgICAiz+7s6Ovq4DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QRU5ESU5HX0RFTEVUSU9OICAi1+Xq4O3t/yDi6OTg6+Xt7f87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfSkFNICAgICAgICAgIs/g77PwIOfg8fLw/+M7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfT1VUICAgICAgICAgIs3lIOLo8fLg9+C6IO/g7+Xw8zsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19NQU5VQUxfRkVFRCAgICAgICAiz+7x8uDi8uUg7+Dvs/Ag4vDz9+3zOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBUEVSX1BST0JMRU0gICAgICLP8O7h6+Xs4CDxIO/g7+Xw7uw7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT0ZGTElORSAgICAgICAgICAgIs/w6O3y5fAg4iDw5ebo7LMgb2ZmbGluZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JT19BQ1RJVkUgICAgICAgICAiwuKz5C/C6OKz5CDg6vLo4u3o6TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19CVVNZICAgICAgICAgICAgICAix+Dp7f/y6Ok7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUFJJTlRJTkcgICAgICAgICAgIsnk5SDk8PPqOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX09VVFBVVF9CSU5fRlVMTCAgICLL7vLu6iDv5fDl7+7i7eXt6Okg7+Dv5fDu7DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT1RfQVZBSUxBQkxFICAgICAizeUg5O7x8vPv7ejpOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1dBSVRJTkcgICAgICAgICAgICLX5erg7e3/OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BST0NFU1NJTkcgICAgICAgICLO4fDu4ergOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0lOSVRJQUxJWklORyAgICAgICLD7vLz4uDt7f87ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FSTUlOR19VUCAgICAgICAgIs/w7uPws+I7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XICAgICAgICAgItLu7eXwIO/w6CDqs+32szsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT19UT05FUiAgICAgICAgICAizeXs4CDy7u3l8OA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFHRV9QVU5UICAgICAgICAgIlBhZ2UgcHVudDsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19VU0VSX0lOVEVSVkVOVElPTiAiz+Xw5fDi4O3uIOru8Ojx8vPi4Pfl7DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRfT0ZfTUVNT1JZICAgICAizODr7iDv4Own//KzOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0RPT1JfT1BFTiAgICAgICAgICLK8Oj46uAg7/Do7fLl8OAg4rPk6vDo8uA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfU0VSVkVSX1VOS05PV04gICAgIs3l4rPk7uzo6SDx5fDi5fAg7/Do7fLl8OA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUE9XRVJfU0FWRSAgICAgICAgIsbo4uvl7e3/IOIg4eXn7+X37e7s8yDw5ebo7LM7ICIKfQoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUgLyogQ29sb3IgbmFtZXMgKi8KewogICAgSURTX0NPTE9SX0JMQUNLICAgICAi1+7w7ejpIgogICAgSURTX0NPTE9SX01BUk9PTiAgICAiwfDz7eDy7ejpIgogICAgSURTX0NPTE9SX0dSRUVOICAgICAix+Xr5e3o6SIKICAgIElEU19DT0xPUl9PTElWRSAgICAgIs7r6OLq7uLo6SIKICAgIElEU19DT0xPUl9OQVZZICAgICAgItHo7bPpIgogICAgSURTX0NPTE9SX1BVUlBMRSAgICAiz/Pw7/Pw7ejpIgogICAgSURTX0NPTE9SX1RFQUwgICAgICAix+Xr5e3uLfHo7bPpIgogICAgSURTX0NPTE9SX0dSQVkgICAgICAi0bPw6OkiCiAgICBJRFNfQ09MT1JfU0lMVkVSICAgICLR8LPh7ejpIgogICAgSURTX0NPTE9SX1JFRCAgICAgICAi1+Xw4u7t6OkiCiAgICBJRFNfQ09MT1JfTElNRSAgICAgICLR4Ovg8u7i6OkiCiAgICBJRFNfQ09MT1JfWUVMTE9XICAgICLG7uLy6OkiCiAgICBJRFNfQ09MT1JfQkxVRSAgICAgICLD7uvz4ejpIgogICAgSURTX0NPTE9SX0ZVQ0hTSUEgICAi1LPu6+Xy7uLo6SIKICAgIElEU19DT0xPUl9BUVVBICAgICAgIsDq4uDs4PDo7SIKICAgIElEU19DT0xPUl9XSElURSAgICAgIsGz6+jpIgp9Cg==