LyogSGV5LCBFbWFjcywgb3BlbiB0aGlzIGZpbGUgd2l0aCAtKi0gY29kaW5nOiBjcDEyNTAgLSotCiAqCiAqIEN6ZWNoIHJlc291cmNlcyBmb3Igd2lubW0KICogQ29weXJpZ2h0IDE5OTkgRXJpYyBQb3VlY2gKICogQ29weXJpZ2h0IDIwMDQgRGF2aWQgS3JlZGJhIAogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAid2luZGVmLmgiCiNpbmNsdWRlICJtbWRkay5oIgoKLyogQ3plY2ggc3RyaW5ncyBpbiBDUDEyNTAgKi8KClNUUklOR1RBQkxFIExBTkdVQUdFIExBTkdfQ1pFQ0gsIFNVQkxBTkdfTkVVVFJBTApCRUdJTgoKLyogTU1TWVMgZXJyb3JzICovCk1NU1lTRVJSX05PRVJST1IsIAkJIlVy6GVu/SBw+O1rYXogYnlsIHByb3ZlZGVuLiIKTU1TWVNFUlJfRVJST1IsIAkJIk5lZGVmaW5vdmFu4SB2buxqmu0gY2h5YmEuIgpNTVNZU0VSUl9CQURERVZJQ0VJRCwgCQkiUG91nml06SBJRCB6YfjtemVu7SBqZSBtaW1vIG1vnm5vc3RpIHN5c3TpbXUuIgpNTVNZU0VSUl9OT1RFTkFCTEVELCAJCSJPdmxhZGHoIG5lYnlsIHBvdm9sZW4uIgpNTVNZU0VSUl9BTExPQ0FURUQsIAkJIlph+O16ZW7tIGplIGRvc3VkIHBvdZ7tduFuby4gVnnoa2VqdGUgbmEgamVobyB1dm9sbuxu7SBhIHprdXN0ZSB0byB6bm92dS4iCk1NU1lTRVJSX0lOVkFMSEFORExFLCAJCSJVa2F6YXRlbCBuYSB6YfjtemVu7SBqZSBuZXBsYXRu/S4iCk1NU1lTRVJSX05PRFJJVkVSLCAJCSJWIHN5c3TpbXUgbmVu7SBuYWluc3RhbG924W4gnuFkbv0gb3ZsYWRh6CAhXG4iCk1NU1lTRVJSX05PTUVNLCAJCSJOZW7tIGRvc3QgcGFt7HRpIHBybyB0dXRvIPpsb2h1LiBVa29u6GV0ZSBqZWRudSBuZWJvIHbtYyBhcGxpa2Fj7SBrIHrtc2vhbu0gdu1jZSB2b2xu6SBwYW3sdGkgYSB6a3VzdGUgdG8gem5vdnUuIgpNTVNZU0VSUl9OT1RTVVBQT1JURUQsIAkJIlRhdG8gZnVua2NlIG5lbu0gcG9kcG9yb3bhbmEuIFBvdZ5panRlIGZ1bmtjaSBDYXBhYmlsaXRpZXMgayB1cuhlbu0sIGpha+kgZnVua2NlIGEgenBy4XZ5IG92bGFkYeggcG9kcG9ydWplLiIKTU1TWVNFUlJfQkFERVJSTlVNLCAJCSJVdmVkZW7pIOjtc2xvIGNoeWJ5IG5lbu0gdiBzeXN06W11IGRlZmlub3bhbm8uIgpNTVNZU0VSUl9JTlZBTEZMQUcsIAkJIlN5c3TpbW926SBmdW5rY2kgYnlsIHD4ZWThbiBuZXBsYXRu/SBw+O16bmFrLiIKTU1TWVNFUlJfSU5WQUxQQVJBTSwgCQkiU3lzdOltb3bpIGZ1bmtjaSBieWwgcPhlZOFuIG5lcGxhdG79IHBhcmFtZXRyLiIKCi8qIFdBVkUgZXJyb3JzICovCldBVkVSUl9CQURGT1JNQVQsIAkJIlRlbnRvIGZvcm3hdCBuZW7tIHBvZHBvcm924W4gbmVibyBuZW35nmUgYv10IHD4ZWxvnmVuLiBQb3WeaWp0ZSBmdW5rY2kgQ2FwYWJpbGl0aWVzIGsgdXLoZW7tIHBvZHBvcm92YW7paG8gZm9ybeF0dS4iCldBVkVSUl9TVElMTFBMQVlJTkcsIAkJIk5lbW9odSBwcm926XN0IHR1dG8gb3BlcmFjaSBkb2t1ZCBqc291IGRhdGEgcPhlaHLhduFuYS4gWnJlc2V0dWp0ZSBtdWx0aW1lZGnhbG7tIHph+O16ZW7tIG5lYm8gdnnoa2VqdGUgbmEga29uZWMgcPhlaHLhduFu7S4iCldBVkVSUl9VTlBSRVBBUkVELCAJCSJXYXZlIGhsYXZp6GthIG5lYnlsYSBw+GlwcmF2ZW5hLiBQb3WeaWp0ZSBmdW5rY2kgUHJlcGFyZSBrIGplau0ga29uc3RydWtjaSBhIHBhayB0byB6a3VzdGUgem5vdnUuIgpXQVZFUlJfU1lOQywgCQkJIk5lbW9odSBvdGV2+O10IHph+O16ZW7tIGJleiBwb3WeaXTtIHD47XpuYWt1IFdBVkVfQUxMT1dTWU5DLiBQb3WeaWp0ZSBobyBhIHprdXN0ZSB0byB6bm92dS4iCgovKiBNSURJIGVycm9ycyAqLwpNSURJRVJSX1VOUFJFUEFSRUQsIAkJIk1JREkgaGxhdmnoa2EgbmVieWxhIHD4aXByYXZlbmEuIFBvdZ5panRlIGZ1bmtjaSBQcmVwYXJlIGsgamVq7SBrb25zdHJ1a2NpIGEgcGFrIHRvIHprdXN0ZSB6bm92dS4iCk1JRElFUlJfU1RJTExQTEFZSU5HLCAJCSJOZW1vaHUgcHJvdulzdCB0dXRvIG9wZXJhY2kgZG9rdWQganNvdSBkYXRhIHD4ZWhy4XbhbmEuIFpyZXNldHVqdGUgbXVsdGltZWRp4Wxu7SB6YfjtemVu7SBuZWJvIHZ56GtlanRlIG5hIGtvbmVjIHD4ZWhy4Xbhbu0uIgpNSURJRVJSX05PTUFQLCAJCQkiTUlESSBtYXAgbmVieWxhIG5hbGV6ZW5hLiBUbyBt+Z5lIHVrYXpvdmF0IG5hIHByb2Js6W0gcyBvdmxhZGHoZW0gbmVibyBqZSBzb3Vib3IgTUlESU1BUC5DRkcgcG+aa296ZW4g6GkgY2h5Yu0uIgpNSURJRVJSX05PVFJFQURZLCAJCSJQb3J0IHD4ZW7hmu0gZGF0YSBuYSB6YfjtemVu7S4gUG/oa2VqdGUgbmEgZG9rb27oZW7tIHD4ZW5vc3UgYSB6a3VzdGUgdG8gem5vdnUuIgpNSURJRVJSX05PREVWSUNFLCAJCSJTb3XoYXNu6SBuYXN0YXZlbu0gTUlESSBtYXBwZXJ1IHNlIG9ka2F6dWplIG5hIE1JREkgemH47Xplbu0gbmVw+O10b21u6SB2IHN5c3TpbXUuIFVwcmF2dGUgbmFzdGF2ZW7tIE1JREkgbWFwcGVydS4iCk1JRElFUlJfSU5WQUxJRFNFVFVQLCAJCSJTb3XoYXNu6SBuYXN0YXZlbu0gTUlESSBqZSBwb5prb3plbukuIFD4ZXBpmnRlIHNvdWJvciBNSURJTUFQLkNGRyB2ZSBXaW5kb3dzIHNsb55jZSBTWVNURU0gb3JpZ2lu4WxlbSBhIHprdXN0ZSB0byB6bm92dS4iCgovKiBNQ0kgZXJyb3JzICovCk1DSUVSUl9JTlZBTElEX0RFVklDRV9JRCwgCSJOZXBsYXRu/SBpZGVudGlmaWvhdG9yIE1DSSB6YfjtemVu7S4gUG91nmlqdGUgaWRlbnRpZmlr4XRvciB2cuFjZW79IHD4aSBvdGV2+GVu7SBNQ0kgemH47Xplbu0uIgpNQ0lFUlJfVU5SRUNPR05JWkVEX0tFWVdPUkQsIAkiT3ZsYWRh6CBuZXD4aXBvdZp07SBwb3WeaXT9IHBhcmFtZXRyIHD47WthenUuIgpNQ0lFUlJfVU5SRUNPR05JWkVEX0NPTU1BTkQsCSJPdmxhZGHoIG5lcPhpcG91mnTtIHBvdZ5pdP0gcPjta2F6LiIKTUNJRVJSX0hBUkRXQVJFLCAJCSJTIG11bHRpbWVkaeFsbu1tIHph+O16ZW7tbSBu7GNvIG5lbu0gdiBwb/jhZGt1LiBVamlzdOx0ZSBzZSwgnmUgcHJhY3VqZSBqYWsgbeEsIHD47XBhZG7sIG9zbG92dGUgamVobyB2/XJvYmNlLiIKTUNJRVJSX0lOVkFMSURfREVWSUNFX05BTUUsIAkiVXZlZGVu6SB6YfjtemVu7SBuZW7tIHBvdZ5pdGVsbukgbmVibyBuZW7tIHBvZHBvcm92YW7pIE1DSS4iCk1DSUVSUl9PVVRfT0ZfTUVNT1JZLCAJCSJOZW7tIGRvc3QgcGFt7HRpIG5hIHByb3ZlZGVu7SB06XRvIPpsb2h5LlxuVWtvbuhldGUgamVkbnUgbmVibyB27WMgYXBsaWthY+0gYSB6a3VzdGUgdG8gem5vdnUuIgpNQ0lFUlJfREVWSUNFX09QRU4sIAkJIkpt6W5vIHph+O16ZW7tIHWeIGplIHBvdZ5pdG8gamFrbyBhbGlhcyB0b3V0byBhcGxpa2Fj7S4gUG91nmlqdGUgdW5pa+F0bu0gYWxpYXMuIgpNQ0lFUlJfQ0FOTk9UX0xPQURfRFJJVkVSLCAJIlZ5c2t5dGwgc2UgbmVyb3pwb3puYXRlbG79IHByb2Js6W0gcPhpIHphduFk7G7tIHV2ZWRlbulobyBvdmxhZGHoZS4iCk1DSUVSUl9NSVNTSU5HX0NPTU1BTkRfU1RSSU5HLCAJIk5lYnlsIHphZOFuIJ7hZG79IHD47Wthei4iCk1DSUVSUl9QQVJBTV9PVkVSRkxPVywgCQkiVv1zdHVwbu0g+GV07HplYyBzZSBuZXZlamRlIGRvIHb9c3R1cG7taG8geuFzb2Ju7Wt1LiBadux0mmV0ZSB2ZWxpa29zdCB64XNvYm7ta3UuIgpNQ0lFUlJfTUlTU0lOR19TVFJJTkdfQVJHVU1FTlQsICJUZW50byBw+O1rYXogdnmeYWR1amUgdGV4dG92/SBwYXJhbWV0ci4gWmFkZWp0ZSBqZWRlbi4iCk1DSUVSUl9CQURfSU5URUdFUiwgCQkiVG90byDo7XNsbyBqZSBuZXBsYXRu6SBwcm8gdGVudG8gcPjta2F6LiIKTUNJRVJSX1BBUlNFUl9JTlRFUk5BTCwgCSJPdmxhZGHoIHph+O16ZW7tIHZy4XRpbCBuZXBsYXRu/SBu4XZyYXRvdv0gdHlwLiBaZXB0ZWp0ZSBzZSBkb2RhdmF0ZWxlIHph+O16ZW7tIG5hIG5vdv0gb3ZsYWRh6C4iCk1DSUVSUl9EUklWRVJfSU5URVJOQUwsIAkiQnlsIHJvenBvem7hbiBwcm9ibOltIHMgb3ZsYWRh6GVtLiBa7XNrZWp0ZSBvZCB2/XJvYmNlIG5vdv0gb3ZsYWRh6C4iCk1DSUVSUl9NSVNTSU5HX1BBUkFNRVRFUiwgCSJUZW50byBw+O1rYXogdnmeYWR1amUgcGFyYW1ldHIuIFphZGVqdGUgaG8uIgpNQ0lFUlJfVU5TVVBQT1JURURfRlVOQ1RJT04sIAkiVuFtaSBwb3WeaXTpIE1DSSB6YfjtemVu7SBuZXBvZHBvcnVqZSB1dmVkZW79IHD47Wthei4iCk1DSUVSUl9GSUxFX05PVF9GT1VORCwgCQkiU291Ym9yIG5lYnlsIG5hbGV6ZW4uIFVqaXN07HRlIHNlLCCeZSBjZXN0YSBrIHNvdWJvcnUgYSBqZWhvIGpt6W5vIGpzb3UgcGxhdG7pLiIKTUNJRVJSX0RFVklDRV9OT1RfUkVBRFksIAkiT3ZsYWRh6CB6YfjtemVu7SBuZW7tIHD4aXByYXZlbi4iCk1DSUVSUl9JTlRFUk5BTCwgCQkiUPhpIGluaWNpYWxpYXphY2kgTUNJIGRvmmxvIGsgcHJvYmzpbfltLiBaa3VzdGUgenJlc3RhcnRvdmF0IFdpbmRvd3MuIgpNQ0lFUlJfRFJJVkVSLCAJCQkiT3ZsYWRh6CBt4SBwcm9ibOlteSBhIHVrb27oaWwgc3ZvdSDoaW5ub3N0LiBPdmxhZGHoIG5ldnLhdGlsIHBvcGlzIGNoeWJ5LiIKTUNJRVJSX0NBTk5PVF9VU0VfQUxMLCAJCSJOZW1vaHUgcG91nu10ICdhbGwnIGpha28gam3pbm8gemH47Xplbu0gcPhpIHByb3bhZOxu7SB0b2hvdG8gcPjta2F6dS4iCk1DSUVSUl9NVUxUSVBMRSwgCQkiVnlza3l0bHkgc2UgY2h5YnkgbmEgdu1jZSB6YfjtemVu7WNoLiBaYWRlanRlIHD47WthenkgenZs4ZqdIHBybyBrYZ5k6SBqZWRubyB6YfjtemVu7WlmeSwgYWJ5IGJ5bG8gemppmnTsbm8sIGt0ZXLpIHph+O16ZW7tIGNoeWJ1amUuIgpNQ0lFUlJfRVhURU5TSU9OX05PVF9GT1VORCwgCSJOZWRva+GeaSBw+Gn4YWRpdCBzb3Vib3IgcyB0b3V0byBw+O1wb25vdSB2aG9kbultdSB6YfjtemVu7S4iCk1DSUVSUl9PVVRPRlJBTkdFLCAJCSJVdmVkZW79IHBhcmFtZXRyIGplIG1pbW8gbWV6ZSB1dmVkZW7paG8gcPjta2F6dS4iCk1DSUVSUl9GTEFHU19OT1RfQ09NUEFUSUJMRSwgCSJUeXRvIHBhcmFtZXRyeSBuZW1vaG91IGL9dCBwb55pdHkgc3BvbHUuIgpNQ0lFUlJfRklMRV9OT1RfU0FWRUQsIAkJIk5lbW9odSB1bG+eaXQgc291Ym9yLiBVamlzdOx0ZSBzZSwgnmUgamUgZG9zdCBt7XN0YSBuYSBkaXNrdSBuZWJvIGplLWxpIFZhmmUgc+2db3bpIHD4aXBvamVu7SBwcvljaG967S4iCk1DSUVSUl9ERVZJQ0VfVFlQRV9SRVFVSVJFRCwgCSJOZW1vaHUgbmFq7XQgcG+eYWRvdmFu6SB6YfjtemVu7S4gVWppc3TsdGUgc2UsIJ5lIGplIG5haW5zdGFsb3bhbm8sIG5lYm8gnmUganN0ZSBqZWhvIG7hemV2IHV2ZWRsaSBw+GVzbuwuIgpNQ0lFUlJfREVWSUNFX0xPQ0tFRCwgCQkiVG90byB6YfjtemVu7SBqZSBwcuF27CB1emF27XLhbm8uIFZ56GtlanRlIG7sa29saWsgc2VrdW5kIGEgemt1c3RlIHRvIHpub3Z1LiIKTUNJRVJSX0RVUExJQ0FURV9BTElBUywgCSJUZW50byBhbGlhcyBqZSB1niBwb3We7XbhbiB2IHTpdG8gYXBsaWthY2kuIFBvdZ5panRlIGppbukgam3pbm8uIgpNQ0lFUlJfQkFEX0NPTlNUQU5ULCAJCSJVdmVkZW79IHBhcmFtZXRyIGplIG5lcGxhdG79IHBybyB0ZW50byBw+O1rYXouIgpNQ0lFUlJfTVVTVF9VU0VfU0hBUkVBQkxFLCAJIlV2ZWRlbukgemH47Xplbu0gamUgdZ4gcG91nu124W5vLiBDaGNldGUtbGkgaG8gc2TtbGV0LCBwb3WeaWp0ZSAnc2hhcmVhYmxlJyBwYXJhbWV0ciBzIGthnmT9bSBw+O1rYXplbSAnb3BlbicuIgpNQ0lFUlJfTUlTU0lOR19ERVZJQ0VfTkFNRSwgCSJUZW50byBw+O1rYXogdnmeYWR1amUgYWxpYXMsIHNvdWJvciwgb3ZsYWRh6CBuZWJvIG7hemV2IHph+O16ZW7tLiBVdmXvdGUgamVkZW4gcHJvc+1tLiIKTUNJRVJSX0JBRF9USU1FX0ZPUk1BVCwgCSJQb3WeaXT9IGZvcm3hdCDoYXN1IGplIG5lcGxhdG79LiBOYWhs6WRu7HRlIGRvIE1DSSBkb2t1bWVudGFjZSBhIHpqaXN07HRlIHNpIHBsYXRu6SBmb3Jt4XR5LiIKTUNJRVJSX05PX0NMT1NJTkdfUVVPVEUsIAkiSG9kbm90YSBwYXJhbWV0cnUgbmVu7SB1emF2+GVuYSB1dm96b3ZrYW1pLiBEb3Bs8nRlIGplLiIKTUNJRVJSX0RVUExJQ0FURV9GTEFHUywgCSJQYXJhbWV0ciBuZWJvIGhvZG5vdGEgYnlsYSB6YWThbmEgZHZha3LhdC4gWmFkZWp0ZSBqZW4gamVkZW4vamVkbnUuIgpNQ0lFUlJfSU5WQUxJRF9GSUxFLCAJCSJUZW50byBzb3Vib3IgbmVt+Z5lIGL9dCBw+GVocuFuIG5hIHRvbXRvIE1DSSB6YfjtemVu7S4gU291Ym9yIG35nmUgYv10IHBvmmtvemVuIG5lYm8gbmVt4SBzcHLhdm79IGZvcm3hdC4iCk1DSUVSUl9OVUxMX1BBUkFNRVRFUl9CTE9DSywgCSJNQ0kgYnlsIHD4ZWThbiBwcuF6ZG79IGJsb2sgcGFyYW1ldHL5LiIKTUNJRVJSX1VOTkFNRURfUkVTT1VSQ0UsIAkiTmVtb2h1IHVsb55pdCBzb3Vib3IgYmV6IG7henZ1LiBaYWRlanRlIG7hemV2LiIKTUNJRVJSX05FV19SRVFVSVJFU19BTElBUywgCSJQ+GkgcG91nml07SBwYXJhbWV0cnUgJ25ldycgbXVz7XRlIHphZGF0IGFsaWFzLiIKTUNJRVJSX05PVElGWV9PTl9BVVRPX09QRU4sIAkiTmVsemUgcG91nu10IHBhcmFtZXRyICdub3RpZnknIHMgYXV0b21hdGlja3kgb3Rldvhlbv1tIHph+O16ZW7tbS4iCk1DSUVSUl9OT19FTEVNRU5UX0FMTE9XRUQsIAkiTmVsemUgcG91nu10IHNvdWJvciBzIHTtbXRvIHph+O16ZW7tbS4iCk1DSUVSUl9OT05BUFBMSUNBQkxFX0ZVTkNUSU9OLCAJIk5lbHplIGRva29u6Gl0IHNrdXBpbnUgcPjta2F6+SB2IHRvbXRvIHBv+GFk7S4gT3ByYXZ0ZSBwb/hhZO0gcPjta2F6+SBhIHprdXN0ZSB0byB6bm92dS4iCk1DSUVSUl9JTExFR0FMX0ZPUl9BVVRPX09QRU4sIAkiVGVudG8gcPjta2F6IG5lbHplIGRva29u6Gl0IG5hIGF1dG9tYXRpY2t5IG90ZXb4ZW7pbSB6YfjtemVu7S4gVnnoa2VqdGUgbmEgemF2+GVu7SB6YfjtemVu7SBhIHprdXN0ZSB0byB6bm92dS4iCk1DSUVSUl9GSUxFTkFNRV9SRVFVSVJFRCwgCSJO4XpldiBzb3Vib3J1IGplIG5lcGxhdG79LiBVamlzdOx0ZSBzZSwgnmUgbuF6ZXYgc291Ym9ydSBt4SA4IHpuYWv5IG7hc2xlZG92YW79Y2ggdGXoa291IGEgcPjtcG9ub3UuIgpNQ0lFUlJfRVhUUkFfQ0hBUkFDVEVSUywgCSJOZWx6ZSB6YWRhdCB6bmFreSB6YSD4ZXTsemVjIHV6YXb4ZW79IHV2b3pvdmthbWkuIgpNQ0lFUlJfREVWSUNFX05PVF9JTlNUQUxMRUQsIAkiVG90byB6YfjtemVu7SBuZW7tIHYgc3lzdOltdSBuYWluc3RhbG924W5vLiBOYWluc3RhbHVqdGUgaG8gdiBPdmzhZGFj7W0gcGFuZWx1LCBuYSB64WxvnmNlIE92bGFkYehlLiIKTUNJRVJSX0dFVF9DRCwgCQkJIk5lbW9odSBw+GlzdG91cGl0IGsgdXZlZGVu6W11IHNvdWJvcnUgbmVibyBNQ0kgemH47Xplbu0uIFpt7PJ0ZSBhZHJlc+H4IG5lYm8gcmVzdGFydHVqdGUgVuGaIHBv6O10YeguIgpNQ0lFUlJfU0VUX0NELCAJCQkiTmVtb2h1IHD4aXN0b3VwaXQgayB1dmVkZW7pbXUgc291Ym9ydSBuZWJvIE1DSSB6YfjtemVu7SwgcHJvdG+eZSBhcGxpa2FjZSBuZW35nmUgem3sbml0IGFkcmVz4fguIgpNQ0lFUlJfU0VUX0RSSVZFLCAJCSJOZW1vaHUgcPhpc3RvdXBpdCBrIHV2ZWRlbultdSBzb3Vib3J1IG5lYm8gTUNJIHph+O16ZW7tLCBwcm90b55lIGFwbGlrYWNlIG5lbfmeZSB6bexuaXQgamVkbm90a3UgZGlza3UuIgpNQ0lFUlJfREVWSUNFX0xFTkdUSCwgCQkiVXLoZXRlIHph+O16ZW7tIG5lYm8gb3ZsYWRh6CBqZWhvniBu4XpldiBqZSBrcmF0mu0gbmWeIDc5IHpuYWv5LiIKTUNJRVJSX0RFVklDRV9PUkRfTEVOR1RILCAJIlVy6GV0ZSB6YfjtemVu7SBuZWJvIG92bGFkYeggamVob54gbuF6ZXYgamUga3JhdJrtIG5lniA2OSB6bmFr+S4iCk1DSUVSUl9OT19JTlRFR0VSLCAJCSJUZW50byBw+O1rYXogdnmeYWR1amUgY2Vsb+jtc2Vsbv0gcGFyYW1ldHIuIFBvdZ5panRlIGhvIHByb3PtbS4iCk1DSUVSUl9XQVZFX09VVFBVVFNJTlVTRSwgCSJWmmVjaG5hIHdhdmUgemH47Xplbu0sIGt0ZXLhIGJ5IG1vaGxhIHD4ZWhy4XQgc291Ym9yeSBzIHTtbXRvIGZvcm3hdGVtIGpzb3UgcG91nu124W5hLiBWeehrZWp0ZSBuYSB1dm9sbuxu7SB6YfjtemVu7SBhIHprdXN0ZSB0byB6bm92dS4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVElOVVNFLCAJIk5lbW9odSBuYXN0YXZpdCB0b3RvIHdhdmUgemH47Xplbu0gbmEgcGxheWJhY2ssIGplbGlrb54gamUgcG91nu124W5vLiBWeehrZWp0ZSBuYSB1dm9sbuxu7SB6YfjtemVu7SBhIHprdXN0ZSB0byB6bm92dS4iCk1DSUVSUl9XQVZFX0lOUFVUU0lOVVNFLCAJIlaaZWNobmEgd2F2ZSB6YfjtemVu7Swga3RlcuEgYnkgbW9obGEgbmFocuF2YXQgb3Vib3J5IHMgdO1tdG8gZm9ybeF0ZW0ganNvdSBwb3We7XbhbmEuIFZ56GtlanRlIG5hIHV2b2xu7G7tIHph+O16ZW7tIGEgemt1c3RlIHRvIHpub3Z1LiIKTUNJRVJSX1dBVkVfU0VUSU5QVVRJTlVTRSwgCSJOZW1vaHUgbmFzdGF2aXQgdG90byB3YXZlIHph+O16ZW7tIG5hIG5haHLhduFu7SwgamVsaWtvniBqZSBwb3We7Xbhbm8uIFZ56GtlanRlIG5hIHV2b2xu7G7tIHph+O16ZW7tIGEgemt1c3RlIHRvIHpub3Z1LiIKTUNJRVJSX1dBVkVfT1VUUFVUVU5TUEVDSUZJRUQsCSJKYWvpa29saXYgd2F2ZWZvcm0ga29tcGF0aWJpbG7tIHD4ZWhy4XZhY+0gemH47Xplbu0gbfmeZSBi/XQgcG91nml0by4iCk1DSUVSUl9XQVZFX0lOUFVUVU5TUEVDSUZJRUQsIAkiSmFr6WtvbGl2IHdhdmVmb3JtIGtvbXBhdGliaWxu7SBuYWhy4XZhY+0gemH47Xplbu0gbfmeZSBi/XQgcG91nml0by4iCk1DSUVSUl9XQVZFX09VVFBVVFNVTlNVSVRBQkxFLCAJIk5lbu0gbmFpbnN0YWxvduFubyCe4WRu6SB3YXZlIHph+O16ZW7tLCBrdGVy6SBieSBieWxvIHNjaG9wbm8gcPhlaHLhdCBzb3Vib3J5IHYgdG9tdG8gZm9ybeF0dS4gUG91nmlqdGUgeuFsb55rdSBPdmxhZGHoZSBrIGluc3RhbGFjaSB3YXZlIHph+O16ZW7tLiIKTUNJRVJSX1dBVkVfU0VUT1VUUFVUVU5TVUlUQUJMRSwiUPhlaHLhdmFj7SB6YfjtemVu7SBuZWRva+F6YWxvIHJvenBvem5hdCBmb3Jt4XQgc291Ym9ydS4iCk1DSUVSUl9XQVZFX0lOUFVUU1VOU1VJVEFCTEUsIAkiTmVu7SBuYWluc3RhbG924W5vIJ7hZG7pIHdhdmUgemH47Xplbu0sIGt0ZXLpIGJ5IGJ5bG8gc2Nob3BubyBuYWhy4XQgc291Ym9yeSB2IHRvbXRvIGZvcm3hdHUuIFBvdZ5panRlIHrhbG+ea3UgT3ZsYWRh6GUgayBpbnN0YWxhY2kgd2F2ZSB6YfjtemVu7S4iCk1DSUVSUl9XQVZFX1NFVElOUFVUVU5TVUlUQUJMRSwgIlph+O16ZW7tLCB6ZSBrdGVy6WhvIHprb3Wa7XRlIG5haHLhdmF0LCBuZWRva+GeZSByb3pwb3puYXQgZm9ybeF0IHb9c3R1cG7taG8gc291Ym9ydS4iCk1DSUVSUl9OT19XSU5ET1csIAkJIk9rbm8gZGlzcGxheSBjaHli7S4iCk1DSUVSUl9DUkVBVEVXSU5ET1csIAkJIk5lbW9odSB2eXR2b/hpdCBuZWJvIHBvdZ7tdCBva25vLiIKTUNJRVJSX0ZJTEVfUkVBRCwgCQkiTmVtb2h1IHD4Zejtc3QgemFkYW79IHNvdWJvci4gVWppc3TsdGUgc2UsIJ5lIHNvdWJvciBzdOFsZSBleGlzdHVqZSBhIHprb250cm9sdWp0ZSBzdvlqIGRpc2sgbmVibyBz7Z1vdm91IGtvbmVrdGl2aXR1LiIKTUNJRVJSX0ZJTEVfV1JJVEUsIAkJIk5lbW9odSB6YXBpc292YXQgZG8gemFkYW7paG8gc291Ym9ydS4gVWppc3TsdGUgc2UsIJ5lIG3hdGUgZG9zdCBt7XN0YSBuYSBkaXNrdSBuZWJvIHpkYSBqc3RlIHD4aXBvamVuaSBrIHPtdGkuIgpNQ0lFUlJfU0VRX0RJVl9JTkNPTVBBVElCTEUsIAkiRm9ybeF0eSDoYXN1ICIic29uZyBwb2ludGVyIiIgYSBTTVBURSBqc291IHZ64WplbW7sIHb9bHXobukuIE5lbfmeZXRlIGplIHBvdZ7tdCBzb3XoYXNu7C4iCk1DSUVSUl9TRVFfTk9NSURJUFJFU0VOVCwgCSJWIHN5c3TpbXUgbmVqc291IG5haW5zdGFsb3bhbnkgTUlESSB6YfjtemVu7S4gTmFpbnN0YWx1anRlIGplIHplIHrhbG+ea3kgT3ZsYWRh6CB2IE92bOFkYWPtbSBwYW5lbHUuIgpNQ0lFUlJfU0VRX1BPUlRfSU5VU0UsIAkJIlRlbnRvIE1JREkgcG9ydCBqZSBwb3We7Xbhbi4gVnnoa2VqdGUgbmEgamVobyB1dm9sbuxu7TsgcGFrIHRvIHprdXN0ZSB6bm92dS4iCk1DSUVSUl9TRVFfUE9SVF9NQVBOT0RFVklDRSwgCSJOYXN0YXZlbu0gTUlESSBtYXBwZXJ1IG9ka2F6dWplIG5hIE1JREkgemH47Xplbu0sIGt0ZXLpIG5lbu0gdiBzeXN06W11IG5haW5zdGFsb3bhbm8uIE5haW5zdGFsdWp0ZSBobyBwb21vY+0geuFsb55reSBNSURJIE1hcHBlciB2IE92bOFkYWPtbSBwYW5lbHUuIgpNQ0lFUlJfU0VRX1BPUlRfTUlTQ0VSUk9SLCAJIk5hc3RhbGEgY2h5YmEgcPhpIHBy4WNpIHMgdO1tdG8gcG9ydGVtLiIKTUNJRVJSX1NFUV9QT1JUX05PTkVYSVNURU5ULCAJIlRvdG8gTUlESSB6YfjtemVu7SBuZW7tIG5haW5zdGFsb3bhbm8gdiBzeXN06W11LiBOYWluc3RhbHVqdGUgaG8gdiBPdmzhZGFj7W0gcGFuZWx1IG5hIHrhbG+eY2UgRHJpdmVyLiIKTUNJRVJSX1NFUV9QT1JUVU5TUEVDSUZJRUQsIAkiU3lzdOltIG5lem7hIHRlbnRvIE1JREkgcG9ydC4iCk1DSUVSUl9TRVFfVElNRVIsIAkJIlaaZWNobnkg6GFzb3Zh6GUgbXVsdGlt6WRp7SBqc291IHBvdZ7tduFueSBhcGxpa2FjZW1pLiBVa29u6GV0ZSBqZWRudSB6IHTsY2h0byBhcGxpa2Fj7SBhIHprdXN0ZSB0byB6bm92dS4iCgpFTkQK