LyoKICogQ29weXJpZ2h0IDIwMDAgU2ltZW4gWmFtZWNuaWsKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKLyoKICogV0FSTklORzogRE8gTk9UIENIQU5HRSBUSEUgU0laRSBPRiBUSEUgU1RBTkRBUkQgRElBTE9HIFRFTVBMQVRFUy4KICovCgpMQU5HVUFHRSBMQU5HX1NMT1ZBSywgU1VCTEFOR19ERUZBVUxUCgovKiBTbG92YWsgc3RyaW5ncyBpbiBDUDEyNTAgKi8KCk9QRU5fRklMRSBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI3NSwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk90dm9yZW5pZSBz+mJvcnUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZNZW5vIHP6Ym9ydToiLCAxMDkwLCA2LCA2LCA3NiwgOQogRURJVFRFWFQgMTE1MiwgNiwgMTYsIDkwLCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBFU19PRU1DT05WRVJUIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUAogTElTVEJPWCAxMTIwLCA2LCAzMiwgOTAsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkFkcmVz4XJlOiIsIC0xLCAxMTAsIDYsIDkyLCA5CiBMVEVYVCAiIiwgMTA4OCwgMTEwLCAxOCwgOTIsIDksIFNTX05PUFJFRklYIHwgV1NfR1JPVVAKIExJU1RCT1ggMTEyMSwgMTEwLCAzMiwgOTIsIDY4LCBMQlNfU1RBTkRBUkQgfCBMQlNfT1dORVJEUkFXRklYRUQgfCBMQlNfSEFTU1RSSU5HUyB8IExCU19ESVNBQkxFTk9TQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJlR5cCB6b2JyYXplbv1jaCBz+mJvcm92OiIsIDEwODksIDYsIDEwNCwgOTAsIDkKIENPTUJPQk9YIDExMzYsIDYsIDExNCwgOTAsIDM2LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIExURVhUICImRGlza2926SBqZWRub3RreToiLCAxMDkxLCAxMTAsIDEwNCwgOTIsIDkKIENPTUJPQk9YIDExMzcsIDExMCwgMTE0LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIERFRlBVU0hCVVRUT04gIk90dm9yaZ0iLCBJRE9LLCAyMDgsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWnJ1mmmdIiwgSURDQU5DRUwsIDIwOCwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImUG9tb2MiLCAxMDM4LCAyMDgsIDQ2LCA1NiwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIiZMZW4gbmEg6O10YW5pZSIsIDEwNDAsIDIwOCwgNjgsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpTQVZFX0ZJTEUgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAyNzUsIDEzNApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJVbG+eaZ0gcG9kIG1lbm9tLi4uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIExURVhUICImTWVubyBz+mJvcnU6IiwgMTA5MCwgNiwgNiwgNzYsIDkKIEVESVRURVhUIDExNTIsIDYsIDE2LCA5MCwgMTIsIEVTX0FVVE9IU0NST0xMIHwgRVNfT0VNQ09OVkVSVCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AKIExJU1RCT1ggMTEyMCwgNiwgMzIsIDkwLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZBZHJlc+FyZToiLCAtMSwgMTEwLCA2LCA5MiwgOQogTFRFWFQgIiIsIDEwODgsIDExMCwgMTgsIDkyLCA5LCBTU19OT1BSRUZJWCB8IFdTX0dST1VQCiBMSVNUQk9YIDExMjEsIDExMCwgMzIsIDkyLCA2OCwgTEJTX1NUQU5EQVJEIHwgTEJTX09XTkVSRFJBV0ZJWEVEIHwgTEJTX0hBU1NUUklOR1MgfCBMQlNfRElTQUJMRU5PU0NST0xMIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZUeXAgem9icmF6ZW79Y2ggc/pib3JvdjoiLCAxMDg5LCA2LCAxMDQsIDkwLCA5CiBDT01CT0JPWCAxMTM2LCA2LCAxMTQsIDkwLCAzNiwgQ0JTX0RST1BET1dOTElTVCB8IENCU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBMVEVYVCAiJkRpc2tvdukgamVkbm90a3k6IiwgMTA5MSwgMTEwLCAxMDQsIDkyLCA5CiBDT01CT0JPWCAxMTM3LCAxMTAsIDExNCwgOTIsIDY4LCBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX1NPUlQgfCBDQlNfSEFTU1RSSU5HUyB8IFdTX0JPUkRFUiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJVbG+eIHBvZCBtZW5vbSIsIElET0ssIDIwOCwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaZ0iLCBJRENBTkNFTCwgMjA4LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZQb21vYyIsIDEwMzgsIDIwOCwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJkxlbiBuYSDo7XRhbmllIiwgMTA0MCwgMjA4LCA2OCwgNTAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKClBSSU5UIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjY0LCAxMzQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVGxh6CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiVGxh6GlhcmXyOiIsIDEwODgsIDYsIDYsIDQwLCA5CiBMVEVYVCAiIiwgMTA4OSwgNjAsIDYsIDE1MCwgOQogR1JPVVBCT1ggIlJvenNhaCB0bGHoZSIsIDEwNzIsIDYsIDMwLCAxNjAsIDY1LCBCU19HUk9VUEJPWAogUkFESU9CVVRUT04gIlZ5dGxh6GmdICZ2mmV0a28iLCAxMDU2LCAxNiwgNDUsIDYwLCAxMgogUkFESU9CVVRUT04gIlZ5dGxh6GmdIHb9JmJlciIsIDEwNTcsIDE2LCA2MCwgNjAsIDEyCiBSQURJT0JVVFRPTiAiVnl0bGHoaZ0gJnphZGFu6SBzdHJhbnkiLCAxMDU4LCAxNiwgNzUsIDYwLCAxMgogREVGUFVTSEJVVFRPTiAiVGxh6CIsIElET0ssIDIwNiwgNiwgNTYsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJacnWaaZ0iLCBJRENBTkNFTCwgMjA2LCAyNCwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZOYXN0YXZpnS4uLiIsIDEwMjQsIDIwNiwgNDYsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiJk9kOiIsIDEwOTAsIDYwLCA4MCwgMzAsIDkKIExURVhUICImUG86IiwgMTA5MSwgMTIwLCA4MCwgMzAsIDkKIExURVhUICImS3ZhbGl0YSB0bGHoZToiLCAxMDkyLCA2LCAxMDAsIDc2LCA5CiBDT01CT0JPWCAxMTM2LCA4MCwgMTAwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJUbGHoaZ0gZG8gJnP6Ym9ydSIsIDEwNDAsIDIwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiS29uZGVuem92YW7pIiwgMTA0MSwgMTYwLCAxMDAsIDUwLCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpQUklOVF9TRVRVUCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDI2NCwgMTM0ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIk5hc3RhdmVuaWUgc3D0c29idSB0bGHoZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBHUk9VUEJPWCAiVGxh6GlhcmXyIiwgMTA3MiwgNiwgMTAsIDE4MCwgNjUsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiJlByZWR2b2xlbuEgdGxh6GlhcmXyIiwgMTA1NiwgMTYsIDIwLCA4MCwgMTIKIExURVhUICJbnmlhZG5hXSIsIDEwODgsIDM1LCAzNSwgMTIwLCA5CiBSQURJT0JVVFRPTiAiinBlY2lmaWNr4SAmdGxh6GlhcmXyIiwgMTA1NywgMTYsIDUwLCA4MCwgMTIKIENPTUJPQk9YIDExMzYsIDM1LCA2NSwgMTQ5LCA2OCwgQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgQ0JTX0hBU1NUUklOR1MgfCBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogREVGUFVTSEJVVFRPTiAiT2siLCBJRE9LLCAyMDYsIDYsIDU2LCAxNCwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWnJ1mmmdIiwgSURDQU5DRUwsIDIwNiwgMjQsIDU2LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICLPYb6aaSZlIHZvvmJ5Li4uIiwgMTAyNCwgMjA2LCA0NiwgNTYsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJPcmllbnThY2lhIiwgMTA3MywgNiwgODUsIDEwMCwgNTAsIEJTX0dST1VQQk9YCiBSQURJT0JVVFRPTiAiTmEgJnb9mmt1IiwgMTA1OCwgNTAsIDEwMCwgNDAsIDEyCiBSQURJT0JVVFRPTiAiTmEgmu0mcmt1IiwgMTA1OSwgNTAsIDExNSwgNDAsIDEyCiBJQ09OICJMQU5EU0NBUCIsIDEwOTcsIDEwLCA5NSwgMzIsIDMyCiBJQ09OICJQT1JUUkFJVCIsIDEwOTgsIDEwLCA5NSwgMzIsIDMyCiBHUk9VUEJPWCAiUGFwaWVyIiwgMTA3NCwgMTIwLCA4NSwgMTgwLCA1MCwgQlNfR1JPVVBCT1gKIExURVhUICImRm9ybeF0IiwgMTA4OSwgMTMwLCA5NSwgMzAsIDkKIExURVhUICImT2RraWG+IiwgMTA5MCwgMTMwLCAxMTAsIDMwLCA5CiBDT01CT0JPWCAxMTM3LCAxNTUsIDk1LCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKIENPTUJPQk9YIDExMzgsIDE1NSwgMTEwLCA5MiwgNjgsIENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfU09SVCB8IENCU19IQVNTVFJJTkdTIHwgV1NfQk9SREVSIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKfQoKCkNIT09TRV9GT05UIERJQUxPRyBESVNDQVJEQUJMRSAgMTMsIDU0LCAyNjQsIDE0NwpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJGb250IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgICAgICAgICAiJkZvbnQ6IiwxMDg4ICw2LDMsNDAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzYgLDYsMTMsOTQsNTQsICBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIENCU19BVVRPSFNDUk9MTCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU0lNUExFCiAgICBMVEVYVCAgICAgICAgICAgIoomdP1sIGZvbnR1OiIsMTA4OSAsMTA4LDMsNDQsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzcsMTA4LDEzLDY0LDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRQogICAgTFRFWFQgICAgICAgICAgICImVmW+a29znToiLDEwOTAsMTc5LDMsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzgsMTc5LDEzLDMyLDU0LCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NJTVBMRSB8IENCU19TT1JUCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDIxOCw2LDQwLDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AgfCBCU19ERUZQVVNIQlVUVE9OCiAgICBQVVNIQlVUVE9OICAgICAgIlpydZppnSIsSURDQU5DRUwsMjE4LDIzLDQwLDE0LFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImQXBsaWtvdmGdIiwgMTAyNiwyMTgsNDAsNDAsMTQsV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZQb21vYyIgLCAxMDM4LDIxOCw1Nyw0MCwxNCxXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiRWZla3R5IiwxMDcyLDYsNzIsODQsMzQsV1NfR1JPVVAKICAgIENIRUNLQk9YCSAgICAiUCZyZehpYXJrbnV06SIsIDEwNDAsIDEwLDgyLDUwLDEwLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCiAgICBDSEVDS0JPWCAJICAgICImUG9k6GlhcmtudXTpIiwgMTA0MSwgMTAsOTQsNTAsMTAsIEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAgICAgICAgICImRmFyYmE6IiwgMTA5MSAsNiwxMTAsMzAsOQogICAgQ09NQk9CT1ggICAgICAgIDExMzksNiwxMjAsODQsMTAwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfT1dORVJEUkFXRklYRUQgfCBDQlNfSEFTU1RSSU5HUyB8CgkJICAgIENCU19BVVRPSFNDUk9MTCB8ICBXU19CT1JERVIgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgR1JPVVBCT1ggICAgICAgICJWem9ya2EiLGdycDIsOTgsNzIsMTIwLDM2LFdTX0dST1VQCiAgICBDVEVYVCAgICAgICAgICAgIkFhQmJZeVp6IixzdGM1LDEwMyw4MCwxMDksMjQsU1NfTk9QUkVGSVggfCBOT1QgV1NfVklTSUJMRQogICAgTFRFWFQgICAgICAgICAgICJTY3ImaXB0ICh0cmFuc2xhdGUpOiIsc3RjNyAsOTgsMTE0LDgwLDkKICAgIENPTUJPQk9YICAgICAgICBjbWI1LDk4LDEyNCwxMjAsOTAsQ0JTX0RST1BET1dOTElTVCB8IENCU19IQVNTVFJJTkdTIHwKCQkgICAgQ0JTX0FVVE9IU0NST0xMIHwgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAp9CgpDSE9PU0VfQ09MT1IgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMzYsIDI0LCAzMDAsIDE4NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJGYXJieSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiJlrha2xhZG7pIGZhcmJ5OiIsICAgMTA4OCwgNCwgICAgNCwgIDE0MCwgMTAKIExURVhUICImVZ7tdmF0Zb5za+kgZmFyYnk6IiwgIDEwODksIDQsICAgMTA2LCAxNDAsIDEwCiBMVEVYVCAiRmFyYmEgfCAgU3BvaiZpdOEiLCAgMTA5MCwgMTUwLCAxNTEsICA0OCwgMTAKIExURVhUICAgIshlJnJ2ZW7hOiIsIDcyNiAvKjEwOTQqLywyNDksMTI2LDI0LDEwCiBFRElUVEVYVCA3MDYsIDI3NSwxMjQsMjEsMTIsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgICAiJlplbGVu4ToiLDcyNy8qMTA5NSovLDI0OSwxNDAsMjQsMTAKIEVESVRURVhUIDcwNywgMjc1LDEzOCwyMSwxMiwgV1NfQk9SREVSIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAgICImTW9kcuE6Iiw3MjggLyoxMDk2Ki8sMjQ5LDE1NCwyNCwxMAogRURJVFRFWFQgNzA4LCAyNzUsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkh1ZToiICw3MjMgLyoxMDkxKi8sMjAyLDEyNiwyMiwxMAogRURJVFRFWFQgNzAzLCAyMjYsMTI0LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJlNhdDoiICw3MjQgLyoxMDkyKi8sMjAyLDE0MCwyMiwxMAogRURJVFRFWFQgNzA0LCAyMjYsMTM4LDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICAiJkx1bToiICw3MjUgLyoxMDkzKi8sMjAyLDE1NCwyMiwxMAogRURJVFRFWFQgNzA1LCAyMjYsMTUyLDIxLDEyLCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENPTlRST0wgIiIgLDcyMCwiU1RBVElDIixTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCw0LDE0LDE0MCw4NgogQ09OVFJPTCAiIiAsNzIxLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLDQsMTE2LDE0MCwyOAogQ09OVFJPTCAiIiAsNzEwLCJTVEFUSUMiLFdTX0JPUkRFUnxTU19TSU1QTEV8V1NfVEFCU1RPUHxXU19HUk9VUCwgMTUyLDQsMTE4LDExNgogQ09OVFJPTCAiIiAsNzAyLCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAyNzgsNCw4LDExNgogQ09OVFJPTCAiIiAsNzA5LCJTVEFUSUMiLFNTX1NJTVBMRXxXU19UQUJTVE9QfFdTX0dST1VQLCAxNTIsMTI0LDQwLDI2CiBERUZQVVNIQlVUVE9OICJPSyIsICAxLCAgNCwgMTY2LCA0NCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlpydZppnSIsIDIsIDUyLCAxNjYsIDQ0LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJQb21vYyIsIDEwMzgsMTAwLDE2NiwgNDQsIDE0CiBQVVNIQlVUVE9OICImUHJpZGGdIGsgdZ7tdmF0Zb5vdv1tIGZhcmLhbSIsICAgIDcxMi8qMTAyNCovLCAxNTIsIDE2NiwgMTQyLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImRGVmaW5vdmGdIHWe7XZhdGW+c2vpIGZhcmJ5ID4+IiwgNzE5LyoxMDI1Ki8sICAgNCwgMTUwLCAxNDIsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gICImaSIsNzEzLDMwMCwyMDAsNCwxNCAgIC8qIGp1c3QgYSBkdW1teTogICdpJyBpcyAgbGlrZSAgJmkgIGluICJzb2wmaWQiICAqLwp9CgoKRklORERMR09SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAzNiwgMjQsIDIzNiwgNjIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSL5hZGFuaWUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZO4WpznToiLCAtMSwgNCwgOCwgNDIsIDgKIEVESVRURVhUIDExNTIsIDQ3LCA3LCAxMjgsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogQ0hFQ0tCT1ggIkxlbiAmY2Vs6SBzbG924SIsIDEwNDAsIDQsIDI2LCAxMDAsIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICImUm96bGmab3ZhnSBtYWzpIGEgdmW+a+kgcO1zbWVu4SIsIDEwNDEsIDQsIDQyLCA2NCwgMTIsIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AKIEdST1VQQk9YICJTbWVyIiwgMTA3MiwgMTA3LCAyNiwgNjgsIDI4CiBDT05UUk9MICJIJm9yZSIsIDEwNTYsICJCVVRUT04iLCBCU19BVVRPUkFESU9CVVRUT04gfCBXU19DSElMRCB8IFdTX1ZJU0lCTEUgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsIDExMSwgMzgsIDIwLCAxMgogQ09OVFJPTCAiJkRvbGUiLCAxMDU3LCAiQlVUVE9OIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfQ0hJTEQgfCBXU19WSVNJQkxFIHwgV1NfVEFCU1RPUCwgMTM4LCAzOCwgMzAsIDEyCgogREVGUFVTSEJVVFRPTiAiTuFqc50g7yZhbJppZSIsIElET0ssIDE4MiwgNSwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIlphdnJpZZ0iLCBJRENBTkNFTCwgMTgyLCAyMywgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIiZQb21vYyIsIDEwMzgsIDE4MiwgNDUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCn0KCgpSRVBMQUNFRExHT1JEIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDM2LCAyNCwgMjMwLCA5NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJa4W1lbmEiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogTFRFWFQgIiZO4WpznToiLCAtMSwgNCwgOSwgNDgsIDgKIEVESVRURVhUIDExNTIsIDU0LCA3LCAxMTQsIDEyLCBFU19BVVRPSFNDUk9MTCB8IFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiZaYW1lbmmdIHphOiIsIC0xLCA0LCAyNiwgNDgsIDgKIEVESVRURVhUIDExNTMsIDU0LCAyNCwgMTE0LCAxMiwgRVNfQVVUT0hTQ1JPTEwgfCBXU19CT1JERVIgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIENIRUNLQk9YICJMZW4gJmNlbOkgc2xvduEiLCAxMDQwLCA1LCA0NiwgMTA0LCAxMiwgQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBDSEVDS0JPWCAiJlJvemxpmm92YZ0gbWFs4SBhIHZlvmvpIHDtc21lbuEiLCAxMDQxLCA1LCA2MiwgNTksIDEyLCBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QCgogREVGUFVTSEJVVFRPTiAiTuFqc50g7yZhbJppZSIsIDEsIDE3NCwgNCwgNTAsIDE0LCBCU19ERUZQVVNIQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJaYSZtZW5pnSIsIDEwMjQsIDE3NCwgMjEsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJaYW1lbmmdIHZvIHb9JmJlcmUiLCAxMDI1LCAxNzQsIDM4LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiWmF2cmllnSIsIDIsIDE3NCwgNTUsIDUwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImUG9tb2MiLCAxMDM4LCAxNzQsIDc1LCA1MCwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAp9CgoKUFJJTlQzMiBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfAogICAgICBEU19DT05URVhUSEVMUCB8IERTXzNETE9PSwpDQVBUSU9OICJUbGHoIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIERFRlBVU0hCVVRUT04gICAiT0siLCAgICAgSURPSywgICAgIDE4MCwxNjQsIDQ4LDE0LCBXU19HUk9VUCB8IEJTX0RFRlBVU0hCVVRUT04KICAgIFBVU0hCVVRUT04gICAgICAiWnJ1mmmdIiwgSURDQU5DRUwsIDIzMiwxNjQsIDQ4LDE0LCBXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImUG9tb2MiLCAgcHNoSGVscCwgIDUwLCAxNjEsIDQ4LDE0LCBXU19HUk9VUAoKICAgIEdST1VQQk9YICAgICAgICAiVGxh6GlhcmXyIiwgICAgICAgIGdycDQsICAgOCwgIDQsIDI3Miw4NCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAidGxh6GmdIGRvICZz+mJvcnUiLCBjaHgxLCAiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjEyLDcwLDY0LDEyCiAgICBQVVNIQlVUVE9OICAgICAgIiZWbGFzdG5vc3RpIiwgICAgcHNoMiwgMjEyLCAxNywgIDYwLDE0LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImTWVubzoiLCAgICAgICAgIHN0YzYsICAxNiwgMjAsICAzNiw4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iNCwgIDUyLCAxOCwgMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIlN0YXY6IiwgICAgICAgIHN0YzgsICAxNiwgMzYsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiRHVtbXkgU3RhdGUiLCAgICBzdGMxMiwgNTIsIDM2LCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiVHlwOiIsICAgICAgICAgIHN0YzcsICAxNiwgNDgsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiRHVtbXkgVHlwIiwgICAgIHN0YzExLCA1MiwgNDgsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAogICAgTFRFWFQgICAgICAgICAgICJLYW06IiwgICAgICAgICBzdGMxMCwgMTYsIDYwLCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IExvY2F0aW9uIiwgc3RjMTQsIDUyLCA2MCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIktvbWVudOFyOiIsICAgICAgIHN0YzksICAxNiwgNzIsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiRHVtbXkgUmVtYXJrIiwgICBzdGMxMywgNTIsIDcyLCAxNTIsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKCiAgICBHUk9VUEJPWCAgICAgICAgIkvzcGllIiwgICAgICAgICBncnAyLCAxNjAsIDkyLCAxMjAsNjQsIFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIlBv6GV0ICZr83Bp7ToiLHN0YzUsMTY4LDEwOCw2OCw4CiAgICBJQ09OICAgICAgICAgICAgIiIsICAgICAgICAgICAgICAgaWNvMywgMTYyLDEyNCwgIDc2LDI0LCBXU19HUk9VUCB8IFNTX0NFTlRFUklNQUdFCiAgICBDT05UUk9MICAgICAgICAgIkMmb2xsYXRlIiwgICAgICAgY2h4MiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjQwLDEzMCwzNiwxMgogICAgRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgIGVkdDMsIDI0MCwxMDYsICAzMiwxMiwgV1NfR1JPVVAgfCBFU19OVU1CRVIKCiAgICBHUk9VUEJPWCAgICAgICAgIlJvenNhaCB0bGHoZSIsICAgIGdycDEsICAgOCw5MiwgIDE0NCw2NCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJlaaZXRreSIsICAgICAgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwxMDYsNjQsMTIKICAgIENPTlRST0wgICAgICAgICAiU3QmcmFueSIsICAgICAgICAgcmFkMywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDM2LDEyCiAgICBDT05UUk9MICAgICAgICAgIlb9JmJlciIsICAgICByYWQyLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzgsNjQsMTIKICAgIEVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICBlZHQxLCAgNzQsMTIyLCAgMjYsMTIsIFdTX0dST1VQIHwgRVNfTlVNQkVSCiAgICBFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgZWR0MiwgMTE4LDEyMiwgIDI2LDEyLCBXU19HUk9VUCB8IEVTX05VTUJFUgogICAgUlRFWFQgICAgICAgICAgICImb2Q6IiwgICAgICAgICBzdGMyLCAgNTIsMTI0LCAgMjAsOAogICAgUlRFWFQgICAgICAgICAgICImZG86IiwgICAgICAgICAgIHN0YzMsIDEwMCwxMjQsICAxNiw4Cn0KClBSSU5UMzJfU0VUVVAgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgIDMyLCAzMiwgMjg4LCAxNzgKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwKICAgICAgRFNfQ09OVEVYVEhFTFAgfCBEU18zRExPT0sKQ0FQVElPTiAiTmFzdGF2ZW5pZSB0bGHoZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIlpydZppnSIsSURDQU5DRUwsMjMyLDE1Niw0OCwxNAovKiAgICBQVVNIQlVUVE9OICAgICAgIlNpZZ0uLi4iLCBwc2g1LCAyODQsMTU2LDQ4LDE0ICovCgogICAgR1JPVVBCT1ggICAgICAgICJUbGHoaWFyZfIiLCAgICAgICAgZ3JwNCwgICA4LCAgNCwgMjcyLDg0LCBXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICImVmxhc3Rub3N0aSIsICAgIHBzaDIsIDIxMiwgMTcsICA2MCwxNCwgV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJk1lbm86IiwgICAgICAgICBzdGM2LCAgMTYsIDIwLCAgMzYsOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjEsICA1MiwgMTgsIDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJTdGF2OiIsICAgICAgICBzdGM4LCAgMTYsIDM2LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IFN0YXRlIiwgICAgc3RjMTIsIDUyLCAzNiwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIlR5cDoiLCAgICAgICAgICBzdGM3LCAgMTYsIDQ4LCAgMzYsMTAsIFNTX05PUFJFRklYCiAgICBMVEVYVCAgICAgICAgICAgIkR1bW15IFR5cGUiLCAgICAgc3RjMTEsIDUyLCA0OCwgMjI0LDEwLCBTU19OT1BSRUZJWCB8IFNTX0xFRlROT1dPUkRXUkFQCiAgICBMVEVYVCAgICAgICAgICAgIkthbToiLCAgICAgICAgIHN0YzEwLCAxNiwgNjAsICAzNiwxMCwgU1NfTk9QUkVGSVgKICAgIExURVhUICAgICAgICAgICAiRHVtbXkgTG9jYXRpb24iLCBzdGMxNCwgNTIsIDYwLCAyMjQsMTAsIFNTX05PUFJFRklYIHwgU1NfTEVGVE5PV09SRFdSQVAKICAgIExURVhUICAgICAgICAgICAiS29tZW504XI6IiwgICAgICAgc3RjOSwgIDE2LCA3MiwgIDM2LDEwLCBTU19OT1BSRUZJWAogICAgTFRFWFQgICAgICAgICAgICJEdW1teSBSZW1hcmsiLCAgIHN0YzEzLCA1MiwgNzIsIDIyNCwxMCwgU1NfTk9QUkVGSVggfCBTU19MRUZUTk9XT1JEV1JBUAoKICAgIEdST1VQQk9YICAgICAgICAiUGFwaWVyIiwgICAgICAgICAgZ3JwMiwgICA4LCA5MiwgMTY0LDU2LCBXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImVmW+a29znToiLCAgICAgICAgIHN0YzIsICAxNiwxMDgsICAzNiwgOAogICAgQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgIGNtYjIsICA1MiwxMDYsIDExMiwxMTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICImWmRyb2o6IiwgICAgICAgc3RjMywgIDE2LDEyOCwgIDM2LCA4CiAgICBDT01CT0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgY21iMywgIDUyLDEyNiwgMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCgogICAgR1JPVVBCT1ggICAgICAgICJPcmllbnThY2lhIiwgICAgZ3JwMSwgMTgwLCA5MiwgMTAwLDU2LCBXU19HUk9VUAogICAgSUNPTiAgICAgICAgICAgICIiLCAgICAgICAgICAgICAgIGljbzEsIDE5NSwxMTIsICAxOCwyMCwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJk5hIHb9mmt1IiwgICAgICByYWQxLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHxXU19UQUJTVE9QLDIyNCwxMDYsNTIsMTIKICAgIENPTlRST0wgICAgICAgICAiTmEgmu0mcmt1IiwgICAgIHJhZDIsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDIyNCwxMjYsNTIsMTIKRU5ECgpORVdGSUxFT1BFTk9SRCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDE2NApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19WSVNJQkxFIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IFdTX0NMSVBDSElMRFJFTgpDQVBUSU9OICJPdHZvcmmdIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUCSJIvmFkYZ0gJnYiLElEQ19MT09LSU5TVEFUSUMsNCw2LDQzLDgsIFNTX05PVElGWQogICAgQ09NQk9CT1gJSURDX0xPT0tJTiw0OSwzLDEzMiwxMDAsQ0JTX0RST1BET1dOTElTVCB8IENCU19PV05FUkRSQVdGSVhFRCB8IENCU19IQVNTVFJJTkdTIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBMVEVYVAkiIiAsIElEQ19UT09MQkFSU1RBVElDLCAxODEsIDIsIDEwMiwgMTcsIE5PVCBXU19HUk9VUCB8IE5PVCBXU19WSVNJQkxFCiAgICBMSVNUQk9YCUlEQ19TSEVMTFNUQVRJQyw0LDIwLDI3Miw4NSwgTEJTX1NPUlQgfCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IExCU19NVUxUSUNPTFVNTiB8IFdTX0hTQ1JPTEwgfCBOT1QgV1NfVklTSUJMRQoKICAgIExURVhUCSImTWVubyBz+mJvcnU6IixJRENfRklMRU5BTUVTVEFUSUMsNSwxMTIsNDYsOCwgU1NfTk9USUZZCiAgICBFRElUVEVYVAlJRENfRklMRU5BTUUsNTQsMTEwLDE1NSwxMixFU19BVVRPSFNDUk9MTAoKICAgIExURVhUCSImVHlwIHP6Ym9yb3YiLElEQ19GSUxFVFlQRVNUQVRJQyw1LDEyOCw0Miw4LCBTU19OT1RJRlkKICAgIENPTUJPQk9YCUlEQ19GSUxFVFlQRSw1NCwxMjYsMTU1LDUzLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wJIk90dm8mcmmdIGliYSBuYSDo7XRhbmllIixJRENfT1BFTlJFQURPTkxZLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsNTQsMTQ1LDEwMCwxMAoKICAgIERFRlBVU0hCVVRUT04JIiZPdHZvcmmdIiwJCSBJRE9LLDIyMiwxMTAsNTAsMTQKICAgIFBVU0hCVVRUT04JCSJacnWaaZ0iLAkJIElEQ0FOQ0VMLDIyMiwxMjgsNTAsMTQKICAgIFBVU0hCVVRUT04JCSImUG9tb2MiLAkJIHBzaEhlbHAsMjIyLDE0NSw1MCwxNAp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfQUJPVVRCT1ggICAgICAgICAgICAiJk8gdGVzdGUgdWNob3BvdmFuaWEgYWRyZXPhcm92IgogICAgSURTX0RPQ1VNRU5URk9MREVSUyAgICAgIkFkcmVz4XIgZG9rdW1lbnRvdiIKICAgIElEU19QRVJTT05BTCAgICAgICAgICAgICJNb2plIGRva3VtZW50eSIKICAgIElEU19GQVZPUklURVMgICAgICAgICAgICJNb2ppIGZhdm9yaXRpIgogICAgSURTX1BBVEggICAgICAgICAgICAgICAgIlN5c3TpbW924SBjZXN0YSIKICAgIElEU19ERVNLVE9QICAgICAgICAgICAgICJQcmFjb3Zu4SBwbG9jaGEiCiAgICBJRFNfRk9OVFMgICAgICAgICAgICAgICAiRm9udHkiCiAgICBJRFNfTVlDT01QVVRFUiAgICAgICAgICAiTfRqIHBv6O10YegiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIElEU19TWVNURU1GT0xERVJTICAgICAgICJTeXN06W1vdukgYWRyZXPhcmUiCiAgICBJRFNfTE9DQUxIQVJEUklWRVMgICAgICAiTG9r4WxuZSBwZXZu6SBkaXNreSIKICAgIElEU19GSUxFTk9URk9VTkQgICAgICAgICJT+mJvciBuZW7hamRlbv0iCiAgICBJRFNfVkVSSUZZRklMRSAgICAgICAgICAiUGxlYXNlIHZlcmlmeSBpZiB0aGUgY29ycmVjdCBmaWxlIG5hbWUgd2FzIGdpdmVuIgogICAgSURTX0NSRUFURUZJTEUgICAgICAgICAgIkZpbGUgZG9lcyBub3QgZXhpc3RcbkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBmaWxlIgogICAgSURTX09WRVJXUklURUZJTEUgICAgICAgIkZpbGUgZG9lcyBhbHJlYWR5IGV4aXN0LlxuRG8geW91IHdhbnQgdG8gcmVwbGFjZSBpdD8iCiAgICBJRFNfSU5WQUxJRF9GSUxFTkFNRV9USVRMRSAiSW52YWxpZCBjaGFyYWN0ZXIocykgaW4gcGF0aCIKICAgIElEU19JTlZBTElEX0ZJTEVOQU1FICAgICJBIGZpbGVuYW1lIGNhbm5vdCBjb250YWluIGFueSBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAvIDogPCA+IHwiCiAgICBJRFNfUEFUSE5PVEVYSVNUSU5HICAgICAiQ2VzdGEgbmVleGlzdHVqZSIKICAgIElEU19GSUxFTk9URVhJU1RJTkcgICAgICJT+mJvciBuZWV4aXN0dWplIgp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICBJRFNfVVBGT0xERVIgICAgICAgICAiTyD6cm92ZfIgdnmammllIgogICAgSURTX05FV0ZPTERFUiAgICAgICAgIlZ5dHZvcmmdIG5vdv0gYWRyZXPhciIKICAgIElEU19MSVNUVklFVyAgICAgICAgICJab3puYW0iCiAgICBJRFNfUkVQT1JUVklFVyAgICAgICAiRGV0YWlseSIKICAgIElEU19UT0RFU0tUT1AgICAgICAgICJMaXN0b3ZhnSBwcmFjb3Zu+iBwbG9jaHUiCn0KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCnsKICAgIFBEMzJfUFJJTlRfVElUTEUgICAgICAgIlRsYegiCgogICAgUEQzMl9WQUxVRV9VUkVBREFCTEUgICAgICAgICAgICAgICAgICAiVW5yZWFkYWJsZSBFbnRyeSIKICAgIFBEMzJfSU5WQUxJRF9QQUdFX1JBTkdFICJUaGlzIHZhbHVlIGxpZXMgbm90IHdpdGhpbiBQYWdlIHJhbmdlXG5cClBsZWFzZSBlbnRlciBhIHZhbHVlIGJldHdlZW4gJWQgYW5kICVkIgogICAgUEQzMl9GUk9NX05PVF9BQk9WRV9UTyAgICAgICAgICAgICAgICAiVGhlIEZST00gZW50cnkgY2Fubm90IGV4Y2VlZCBUTzoiCiAgICBQRDMyX01BUkdJTlNfT1ZFUkxBUCAgICAgICAgICAgICAgICAgICJNYXJnaW5zIG92ZXJsYXAgb3IgZmFsbCBvdXRzaWRlIFwKUGFwZXIgYm91bmRhcmllcy5cblBsZWFzZSByZWVudGVyIG1hcmdpbnMiCiAgICBQRDMyX05SX09GX0NPUElFU19FTVBUWSAgICAgICAgICAgICAgICJUaGUgTnVtYmVyT2ZDb3BpZXMgZW50cnkgY2Fubm90IFwKYmUgZW1wdHkiCiAgICBQRDMyX1RPT19MQVJHRV9DT1BJRVMgICAgICAgICAgICAgICAgICJUaGlzIGxhcmdlIGFtb3VudCBvZiBwcmludHMgaXMgbm90IFwKc3VwcG9ydGVkIGJ5IHlvdXIgcHJpbnRlci5cblBsZWFzZSBlbnRlciBhIHZhbHVlIGJldHdlZW4gMSBhbmQgJWQiCiAgICBQRDMyX1BSSU5UX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICJBIHByaW50ZXIgZXJyb3Igb2NjdXJyZWQiCiAgICBQRDMyX05PX0RFRkFVTFRfUFJJTlRFUiAgICAgICAgICAgICAgICJOaWUgamUgbmFzdGF2ZW7hIGltcGxpY2l0buEgdGxh6GlhcmXyIgogICAgUEQzMl9DQU5UX0ZJTkRfUFJJTlRFUiAgICAgICAgICAgICAgICAiQ2Fubm90IGZpbmQgdGhlIHByaW50ZXIiCiAgICBQRDMyX09VVF9PRl9NRU1PUlkgICAgICAgICAgICAgICAgICAgICJOZWRvc3RhdG9rIHBhbeR0ZSIKICAgIFBEMzJfR0VORVJJQ19FUlJPUiAgICAgICAgICAgICAgICAgICAgIlZ5c2t5dGxhIHNhIGNoeWJhIgogICAgUEQzMl9EUklWRVJfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAiTmV6buFteSBvdmzhZGHoIHRsYehpYXJuZSIKICAgIFBEMzJfTk9fREVWSUNFUyAgICAgICAgICAgICAgICAgICAgICAgIkJlZm9yZSB5b3UgY2FuIHBlcmZvcm0gcHJpbnRlci1yZWxhdGVkIHRhc2tzIFwKc3VjaCBhcyBwYWdlIHNldHVwIG9yIHByaW50aW5nIGEgZG9jdW1lbnQsIHlvdSBuZWVkIHRvIGluc3RhbGwgYSBwcmludGVyLiBcClBsZWFzZSBpbnN0YWxsIG9uZSBhbmQgcmV0cnkuIgoKICAgIFBEMzJfREVGQVVMVF9QUklOVEVSICAgICAgICAgICAgICAgICAgIkltcGxpY2l0buEgdGxh6GlhcmXyOyAiCiAgICBQRDMyX05SX09GX0RPQ1VNRU5UU19JTl9RVUVVRSAgICAgICAgICJUaGVyZSBhcmUgJWQgZG9jdW1lbnRzIGluIHF1ZXVlIgogICAgUEQzMl9NQVJHSU5TX0lOX0lOQ0hFUyAgICAgICAgICAgICAgICAiT2tyYWplIFtwYWxjZV0iCiAgICBQRDMyX01BUkdJTlNfSU5fTUlMSU1FVEVSUyAgICAgICAgICAgICJPa3JhamUgW21tXSIKICAgIFBEMzJfTUlMSU1FVEVSUyAgICAgICAgICAgICAgICAgICAgICAgIm1tIgoKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUkVBRFkgICAgICAgICAgICAgIlByaXByYXZlbuEiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1BBVVNFRCAgICAgICAgICAgICJQb3phc3RhdmVu4TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19FUlJPUiAgICAgICAgICAgICAiQ2h5YmE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEVORElOR19ERUxFVElPTiAgIlBlbmRpbmcgZGVsZXRpb247ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUEFQRVJfSkFNICAgICAgICAgIlBhcGVyIGphbTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9PVVQgICAgICAgICAiQ2j9YmEgcGFwaWVyOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX01BTlVBTF9GRUVEICAgICAgICJGZWVkIHBhcGVyIG1hbnVhbDsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQVBFUl9QUk9CTEVNICAgICAiUGFwZXIgcHJvYmxlbTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PRkZMSU5FICAgICAgICAgICAiVGxh6GlhcmXyIHYgc3RhdmUgb2ZmbGluZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19JT19BQ1RJVkUgICAgICAgICAiSS9PIEFjdGl2ZTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19CVVNZICAgICAgICAgICAgICAiWmFuZXBy4XpkbmVu4TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUklOVElORyAgICAgICAgICAiUHJlYmllaGEgdGxh6DsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19PVVRQVVRfQklOX0ZVTEwgICAiT3V0cHV0IHRyYXkgaXMgZnVsbDsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19OT1RfQVZBSUxBQkxFICAgICAiTmllIGplIGsgZGlzcG967WNpaTsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19XQUlUSU5HICAgICAgICAgICAiV2FpdGluZzsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QUk9DRVNTSU5HICAgICAgICAiUHJlYmllaGEgc3ByYWNvdmFuaWU7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfSU5JVElBTElaSU5HICAgICAgIkluaWNpYWxpeuFjaWE7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfV0FSTUlOR19VUCAgICAgICAgIldhcm1pbmcgdXA7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfVE9ORVJfTE9XICAgICAgICAgIlByaW3hbG8gdG9uZXJ1OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX05PX1RPTkVSICAgICAgICAgICJDaP1iYSB0b25lcjsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19QQUdFX1BVTlQgICAgICAgICAiUGFnZSBwdW50OyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX1VTRVJfSU5URVJWRU5USU9OICJQcmVydZplbmllIHWe7XZhdGW+b207ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfT1VUX09GX01FTU9SWSAgICAgIk5lZG9zdGF0b2sgcGFt5HRlOyAiCiAgICBQRDMyX1BSSU5URVJfU1RBVFVTX0RPT1JfT1BFTiAgICAgICAgICJEdmllcmthIHRsYehpYXJuZSBz+iBvdHZvcmVu6TsgIgogICAgUEQzMl9QUklOVEVSX1NUQVRVU19TRVJWRVJfVU5LTk9XTiAgICAiTmV6buFteSBwcmludCBzZXJ2ZXI7ICIKICAgIFBEMzJfUFJJTlRFUl9TVEFUVVNfUE9XRVJfU0FWRSAgICAgICAgIlBvd2VyIHNhZmUgbW9kZTsgIgp9Cg==