LyoKICogQ29weXJpZ2h0IDE5OTkgR3VzdGF2byBKdW5pb3IgQWx2ZXMKICogQ29weXJpZ2h0IDIwMDMgTWFyY2VsbyBEdWFydGUKICogQ29weXJpZ2h0IDIwMDYtMjAwNyBBbelyaWNvIEpvc+kgTWVsbwogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAid2luZGVmLmgiCiNpbmNsdWRlICJtbWRkay5oIgoKU1RSSU5HVEFCTEUgTEFOR1VBR0UgTEFOR19QT1JUVUdVRVNFLCBTVUJMQU5HX1BPUlRVR1VFU0VfQlJBWklMSUFOCgpCRUdJTgoKLyogTU1TWVMgZXJyb3JzICovCk1NU1lTRVJSX05PRVJST1IsIAkJIk8gY29tYW5kbyBlc3BlY2lmaWNhZG8gZm9pIGRlc2NhcnJlZ2Fkby4iCk1NU1lTRVJSX0VSUk9SLCAJCSJFcnJvIGV4dGVybm8gaW5kZWZpbmlkby4iCk1NU1lTRVJSX0JBRERFVklDRUlELCAJCSJPIElEIGRvIGRpc3Bvc2l0aXZvIHV0aWxpemFkbyBlc3ThIGZvcmEgZG9zIHBhcuJtZXRyb3MgZG8gc2V1IHNpc3RlbWEuIgpNTVNZU0VSUl9OT1RFTkFCTEVELCAJCSJPIGRyaXZlciBu428gZm9pIGhhYmlsaXRhZG8uIgpNTVNZU0VSUl9BTExPQ0FURUQsIAkJIk8gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvIGrhIGVzdOEgZW0gdXNvLiBBZ3VhcmRlIGF06SBxdWUgc2VqYSBsaWJlcmFkbywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNTVNZU0VSUl9JTlZBTEhBTkRMRSwgCQkiTyBoYW5kbGUgZG8gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvIOkgaW524WxpZG8uIgpNTVNZU0VSUl9OT0RSSVZFUiwgCQkiTuNvIGjhIG5lbmh1bSBkcml2ZXIgaW5zdGFsYWRvIGVtIHNldSBzaXN0ZW1hICFcbiIKTU1TWVNFUlJfTk9NRU0sIAkJIk7jbyBo4SBtZW3zcmlhIGRpc3Bvbu12ZWwgc3VmaWNpZW50ZSBwYXJhIGVzc2EgdGFyZWZhLiBGZWNoZSB1bWEgb3UgbWFpcyBhcGxpY2Hn9WVzIHBhcmEgYXVtZW50YXIgYSBtZW3zcmlhIGRpc3Bvbu12ZWwsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTU1TWVNFUlJfTk9UU1VQUE9SVEVELCAJCSJFc3NhIGZ1bufjbyBu428g6SBzdXBvcnRhZGEuIFV0aWxpemUgYSBmdW7n428gQ2FwYWNpZGFkZXMgcGFyYSBkZXRlcm1pbmFyIHF1YWlzIGZ1buf1ZXMgZSBtZW5zYWdlbnMgbyBkcml2ZXIgc3Vwb3J0YS4iCk1NU1lTRVJSX0JBREVSUk5VTSwgCQkiVW0gbvptZXJvIGRlIGVycm8gZm9pIGVzcGVjaWZpY2FkbyBlIG7jbyBlc3ThIGRlZmluaWRvIGVtIHNldSBzaXN0ZW1hLiIKTU1TWVNFUlJfSU5WQUxGTEFHLCAJCSJVbSBmbGFnIGluduFsaWRvIGZvaSBwYXNzYWRvIHBhcmEgdW1hIGZ1bufjbyBkbyBzaXN0ZW1hLiIKTU1TWVNFUlJfSU5WQUxQQVJBTSwgCQkiVW0gcGFy4m1ldHJvIGluduFsaWRvIGZvaSBwYXNzYWRvIHBhcmEgdW1hIGZ1bufjbyBkbyBzaXN0ZW1hLiIKCi8qIFdBVkUgZXJyb3JzICovCldBVkVSUl9CQURGT1JNQVQsIAkJIk8gZm9ybWF0byBlc3BlY2lmaWNhZG8gbuNvIOkgc3Vwb3J0YWRvIG91IG7jbyBwb2RlIHNlciB0cmFkdXppZG8uIFVzZSBhIGZ1bufjbyBDYXBhY2lkYWRlcyBwYXJhIGRldGVybWluYXIgb3MgZm9ybWF0b3Mgc3Vwb3J0YWRvcy4iCldBVkVSUl9TVElMTFBMQVlJTkcsIAkJIk7jbyDpIHBvc3PtdmVsIGV4ZWN1dGFyIGVzdGEgb3BlcmHn428gZW5xdWFuZG8gb3MgZGFkb3MgZGUgbe1kaWEgZXN0aXZlcmVtIHRvY2FuZG8uIFJlaW5pY2llIG8gZGlzcG9zaXRpdm8sIG91IGFndWFyZGUgYXTpIG8gdOlybWlubyBkYSBleGVjdefjby4iCldBVkVSUl9VTlBSRVBBUkVELCAJCSJPIGNhYmXnYWxobyBkbyB3YXZlIG7jbyBlc3ThIHByZXBhcmFkby4gVXNlIGEgZnVu5+NvIFByZXBhcmFyIHBhcmEgcHJlcGFyYXIgbyBjYWJl52FsaG8sIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKV0FWRVJSX1NZTkMsIAkJCSJO428g6SBwb3Nz7XZlbCBhYnJpciBvIGRpc3Bvc2l0aXZvIHNlbSB1dGlsaXphciBhIGZsYWcgV0FWRV9BTExPV1NZTkMuIFVzZSBhIGZsYWcsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKCi8qIE1JREkgZXJyb3JzICovCk1JRElFUlJfVU5QUkVQQVJFRCwgCQkiTyBjYWJl52FsaG8gTUlESSBu428gZXN04SBwcmVwYXJhZG8uIFVzZSBhIGZ1bufjbyBQcmVwYXJhciBwYXJhIHByZXBhcmFyIG8gY2FiZedhbGhvLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1JRElFUlJfU1RJTExQTEFZSU5HLCAJCSJO428g6SBwb3Nz7XZlbCBleGVjdXRhciBlc3RhIG9wZXJh5+NvIGVucXVhbnRvIG9zIGRhZG9zIGRhIG3tZGlhIGVzdGl2ZXJlbSBzZW5kbyBleGVjdXRhZG9zLiBSZWluaWNpZSBvIGRpc3Bvc2l0aXZvLCBvdSBhZ3VhcmRlIGF06SBvcyBkYWRvcyB0ZXJtaW5hcmVtIGRlIHNlciB0b2NhZG9zLiIKTUlESUVSUl9OT01BUCwgCQkJIk8gbWFwYSBNSURJIG7jbyBmb2kgZW5jb250cmFkby4gVGFsdmV6IHNlamEgdW0gcHJvYmxlbWEgY29tIG8gZHJpdmVyLCBvdSBvIGFycXVpdm8gTUlESU1BUC5DRkcgcG9kZSBlc3RhciBjb3Jyb21waWRvIG91IGZhbHRhbmRvLiIKTUlESUVSUl9OT1RSRUFEWSwgCQkiQSBwb3J0YSBlc3ThIHRyYW5zbWl0aW5kbyBkYWRvcyBwYXJhIG8gZGlzcG9zaXRpdm8uIEFndWFyZGUgYXTpIG9zIGRhZG9zIHRlcm1pbmFyZW0gZGUgc2VyIHRyYW5zbWl0aWRvcywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNSURJRVJSX05PREVWSUNFLCAJCSJBIGNvbmZpZ3VyYefjbyBhdHVhbCBkbyBNSURJIE1hcHBlciByZWZlcmUtc2UgYSB1bSBkaXNwb3NpdGl2byBNSURJIHF1ZSBu428gZXN04SBpbnN0YWxhZG8gbm8gc2lzdGVtYS4gVXNlIE1JREkgTWFwcGVyIHBhcmEgZWRpdGFyIGEgY29uZmlndXJh5+NvLiIKTUlESUVSUl9JTlZBTElEU0VUVVAsIAkJIkEgY29uZmlndXJh5+NvIGF0dWFsIGRvIE1JREkgZXN04SBjb3Jyb21waWRhLiBDb3BpZSBvIGFycXVpdm8gb3JpZ2luYWwgTUlESU1BUC5DRkcgcGFyYSBvIGRpcmV083JpbyBXaW5kb3dzIFNZU1RFTSwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgoKLyogTUNJIGVycm9ycyAqLwpNQ0lFUlJfSU5WQUxJRF9ERVZJQ0VfSUQsIAkiSUQgaW524WxpZG8gZG8gZGlzcG9zaXRpdm8gTUNJLiBVc2UgbyBJRCByZXRvcm5hZG8gcGFyYSBhYnJpciBvIGRpc3Bvc2l0aXZvIE1DSS4iCk1DSUVSUl9VTlJFQ09HTklaRURfS0VZV09SRCwgCSJPIGRyaXZlciBu428gcG9kZSByZWNvbmhlY2VyIG8gcGFy4m1ldHJvIGRlIGNvbWFuZG8gZXNwZWNpZmljYWRvLiIKTUNJRVJSX1VOUkVDT0dOSVpFRF9DT01NQU5ELAkiTyBkcml2ZXIgbuNvIHBvZGUgcmVjb25oZWNlciBvIGNvbWFuZG8gZXNwZWNpZmljYWRvLiIKTUNJRVJSX0hBUkRXQVJFLCAJCSJI4SB1bSBwcm9ibGVtYSBjb20gc2V1IGRpc3Bvc2l0aXZvIGRlIG3tZGlhLiBUZW5oYSBjZXJ0ZXphIHF1ZSBlc3RlamEgZnVuY2lvbmFuZG8gY29ycmV0YW1lbnRlIG91IGNvbnRhY3RlIG8gZmFicmljYW50ZSBkbyBkaXNwb3NpdGl2by4iCk1DSUVSUl9JTlZBTElEX0RFVklDRV9OQU1FLCAJIk8gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvIG7jbyBlc3ThIGFiZXJ0byBvdSBu428g6SByZWNvbmhlY2lkbyBwZWxvIE1DSS4iCk1DSUVSUl9PVVRfT0ZfTUVNT1JZLCAJCSJO428gauEgbWVt83JpYSBkaXNwb27tdmVsIHN1ZnVjaWVudGUgcGFyYSBlc3RhIHRhcmVmYS5cbkZlY2hlIHVtYSBvdSBtYWlzIGFwbGljYef1ZXMgcGFyYSBhdW1lbnRhciBhIG1lbfNyaWEgZGlzcG9u7XZlbCwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfREVWSUNFX09QRU4sIAkJIk8gbm9tZSBkbyBkaXNwb3NpdGl2byBq4SBlc3ThIHNlbmRvIHVzYWRvIGNvbW8gdW0gYWxpYXMgcG9yIGVzdGEgYXBsaWNh5+NvLiBVc2UgdW0gYWxpYXMg+m5pY28uIgpNQ0lFUlJfQ0FOTk9UX0xPQURfRFJJVkVSLCAJIkFjb250ZWNldSB1bSBwcm9ibGVtYSBkZXNjb25oZWNpZG8gZW5xdWFudG8gY2FycmVnYXZhIG8gZHJpdmVyIGRvIGRpc3Bvc2l0aXZvIGVzcGVjaWZpY2Fkby4iCk1DSUVSUl9NSVNTSU5HX0NPTU1BTkRfU1RSSU5HLCAJIk5lbmh1bSBjb21hbmRvIGZvaSBlc3BlY2lmaWNhZG8uIgpNQ0lFUlJfUEFSQU1fT1ZFUkZMT1csIAkJIkEgc3RyaW5nIGRlIHNh7WRhIGZvaSBtdWl0byBncmFuZGUgcGFyYSBzZXIgY29sb2NhZGEgbm8gYnVmZmVyIGRlIHJldG9ybm8uIEF1bWVudGUgbyB0YW1hbmhvIGRvIGJ1ZmZlci4iCk1DSUVSUl9NSVNTSU5HX1NUUklOR19BUkdVTUVOVCwgIk8gY29tYW5kbyBlc3BlY2lmaWNhZG8gcmVxdWVyIGNvbW8gcGFy4m1ldHJvIHVtYSBzdHJpbmcgZGUgY2FyYWN0ZXJzLiBQb3IgZmF2b3IsIGZvcm5l52EtYS4iCk1DSUVSUl9CQURfSU5URUdFUiwgCQkiTyBpbnRlaXJvIGVzcGVjaWZpY2FkbyDpIGluduFsaWRvIHBhcmEgZXN0ZSBjb21hbmRvLiIKTUNJRVJSX1BBUlNFUl9JTlRFUk5BTCwgCSJPIGRyaXZlciBkbyBkaXNwb3NpdGl2byByZXRvcm5vdSB1bSB0aXBvIGluduFsaWRvLiBWZXJpZmlxdWUgY29tIG8gZmFicmljYW50ZSBkbyBkaXNwb3NpdGl2byBjb21vIG9idGVyIHVtIG5vdm8gZHJpdmVyLiIKTUNJRVJSX0RSSVZFUl9JTlRFUk5BTCwgCSJFeGlzdGUgdW0gcHJvYmxlbWEgY29tIG8gc2V1IGRyaXZlciBkZSBkaXNwb3NpdGl2by4gVmVyaWZpcXVlIGNvbSBvIGZhYnJpY2FudGUgZG8gZGlzcG9zaXRpdm8gY29tbyBvYnRlciB1bSBub3ZvIGRyaXZlci4iCk1DSUVSUl9NSVNTSU5HX1BBUkFNRVRFUiwgCSJPIGNvbWFuZG8gZXNwZWNpZmljYWRvIHJlcXVlciB1bSBwYXLibWV0cm8uIFBvciBmYXZvciBmb3JuZedhLW8uIgpNQ0lFUlJfVU5TVVBQT1JURURfRlVOQ1RJT04sIAkiTyBkaXNwb3NpdGl2byBNQ0kgcXVlIHZvY+ogZXN04SB1c2FuZG8gbuNvIHN1cG9ydGEgbyBjb21hbmRvIGVzcGVjaWZpY2Fkby4iCk1DSUVSUl9GSUxFX05PVF9GT1VORCwgCQkiTuNvIOkgcG9zc+12ZWwgZW5jb250cmFyIG8gYXJxdWl2byBlc3BlY2lmaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIG8gY2FtaW5obyBlIG8gbm9tZSBkbyBhcnF1aXZvIGVzdONvIGNvcnJldG9zLiIKTUNJRVJSX0RFVklDRV9OT1RfUkVBRFksIAkiTyBkcml2ZXIgZG8gZGlzcG9zaXRpdm8gbuNvIGVzdOEgcHJlcGFyYWRvLiIKTUNJRVJSX0lOVEVSTkFMLCAJCSJVbSBwcm9ibGVtYSBvY29ycmV1IG5hIGluaWNpYWxpemHn428gZG8gTUNJLiBUZW50ZSByZWluaWNpYXIgbyBXaW5kb3dzLiIKTUNJRVJSX0RSSVZFUiwgCQkJIkjhIHVtIHByb2JsZW1hIGNvbSBvIGRyaXZlciBkbyBkaXNwb3NpdGl2by4gTyBkcml2ZXIgZm9pIGZlY2hhZG8uIE7jbyDpIHBvc3PtdmVsIGFjZXNzYXIgbyBlcnJvLiIKTUNJRVJSX0NBTk5PVF9VU0VfQUxMLCAJCSJO428g6SBwb3Nz7XZlbCB1c2FyICdhbGwnIGNvbW8gbm9tZSBkbyBkaXNwb3NpdGl2byBjb20gbyBjb21hbmRvIGVzcGVjaWZpY2Fkby4iCk1DSUVSUl9NVUxUSVBMRSwgCQkiRXJyb3Mgb2NvcnJlcmFtIGVtIG1haXMgZGUgdW0gZGlzcG9zaXRpdm8uIEVzcGVjaWZpcXVlIGNhZGEgY29tYW5kbyBlIGRpc3Bvc2l0aXZvIHNlcGFyYWRhbWVudGUgcGFyYSBkZXRlcm1pbmFyIHF1YWlzIGRpc3Bvc2l0aXZvcyBjYXVzYXJhbSBvIGVycm8uIgpNQ0lFUlJfRVhURU5TSU9OX05PVF9GT1VORCwgCSJO428g6SBwb3Nz7XZlbCBkZXRlcm1pbmFyIG8gdGlwbyBkZSBkaXNwb3NpdGl2byBkYWRhIGEgZXh0ZW5z428gZGUgYXJxdWl2by4iCk1DSUVSUl9PVVRPRlJBTkdFLCAJCSJPIHBhcuJtZXRybyBlc3BlY2lmaWNhZG8gZXN04SBmb3JhIGRhIGVzY2FsYSBwYXJhIG8gY29tYW5kbyBlc3BlY2lmaWNhZG8uIgpNQ0lFUlJfRkxBR1NfTk9UX0NPTVBBVElCTEUsIAkiT3MgcGFy4m1ldHJvcyBlc3BlY2lmaWNhZG9zIG7jbyBwb2RlbSBzZXIgdXRpbGl6YWRvcyBqdW50b3MuIgpNQ0lFUlJfRklMRV9OT1RfU0FWRUQsIAkJIk7jbyDpIHBvc3PtdmVsIHNhbHZhciBvIGFycXVpdm8gZXNwZWNpZmljYWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSB0ZW5oYSBlc3Bh528gZW0gZGlzY28gc3VmaWNpZW50ZSBvdSBxdWUgYWluZGEgZXN0ZWphIGNvbmVjdGFkbyBhIHJlZGUuIgpNQ0lFUlJfREVWSUNFX1RZUEVfUkVRVUlSRUQsIAkiTuNvIOkgcG9zc+12ZWwgZW5jb250cmFyIG8gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSBlc3ThIGluc3RhbGFkbyBvdSBxdWUgbyBub21lIGRvIGRpc3Bvc2l0aXZvIGZvaSBlc2NyaXRvIGNvcnJldGFtZW50ZS4iCk1DSUVSUl9ERVZJQ0VfTE9DS0VELCAJCSJPIGRpc3Bvc2l0aXZvIGVzcGVjaWZpY2FkbyBlc3ThIHNlbmRvIGZlY2hhZG8gYWdvcmEuIEFndWFyZGUgYWxndW5zIHNlZ3VuZG9zLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9EVVBMSUNBVEVfQUxJQVMsIAkiTyBhbGlhcyBlc3BlY2lmaWNhZG8gauEgZXN04SBzZW5kbyB1dGlsaXphZG8gbmVzdGEgYXBsaWNh5+NvLiBVc2UgdW0gYWxpYXMg+m5pY28uIgpNQ0lFUlJfQkFEX0NPTlNUQU5ULCAJCSJPIHBhcuJtZXRybyBlc3BlY2lmaWNhZG8g6SBpbnbhbGlkbyBwYXJhIGVzdGUgY29tYW5kby4iCk1DSUVSUl9NVVNUX1VTRV9TSEFSRUFCTEUsIAkiTyBkcml2ZXIgZGUgZGlzcG9zaXRpdm8gauEgZXN04SBlbSB1c28uIFBhcmEgY29tcGFydGlsaGEtbG8sIHVzZSBvIHBhcuJtZXRybyAnc2hhcmVhYmxlJyBwYXJhIGNhZGEgY29tYW5kbyAnb3BlbicuIgpNQ0lFUlJfTUlTU0lOR19ERVZJQ0VfTkFNRSwgCSJPIGNvbWFuZG8gZXNwZWNpZmljYWRvIHJlcXVlciB1bSBhbGlhcywgYXJxdWl2bywgZHJpdmVyIG91IG5vbWUgZGUgZGlzcG9zaXRpdm8uIFBvciBmYXZvciwgZm9ybmXnYSB1bS4iCk1DSUVSUl9CQURfVElNRV9GT1JNQVQsIAkiTyB2YWxvciBlc3BlY2lmaWNhZG8gcGFyYSBvIGZvcm1hdG8gZGUgaG9yYSDpIGluduFsaWRvLiBWZXJpZmlxdWUgbmEgZG9jdW1lbnRh5+NvIGRvIE1DSSBzb2JyZSBmb3JtYXRvcyB24WxpZG9zLiIKTUNJRVJSX05PX0NMT1NJTkdfUVVPVEUsIAkiQSBhc3BhLWR1cGxhIGRlIGZlY2hhbWVudG8gZXN04SBmYWx0YW5kbyBwYXJhIG8gdmFsb3IgZG8gcGFy4m1ldHJvLiBQb3IgZmF2b3IgZm9ybmXnYSB1bWEuIgpNQ0lFUlJfRFVQTElDQVRFX0ZMQUdTLCAJIlVtIHBhcuJtZXRybyBvdSB2YWxvciBmb2kgZXNwZWNpZmljYWRvIGR1YXMgdmV6ZXMuIEFwZW5hcyBlc3BlY2lmaXF1ZS1vIHVtYSD6bmljYSB2ZXouIgpNQ0lFUlJfSU5WQUxJRF9GSUxFLCAJCSJPIGFycXVpdm8gZXNwZWZpY2lkYWRvIG7jbyBwb2RlIHNlciB0b2NhZG8gbm8gZGlzcG9zaXRpdm8gTUNJIGVzcGVjaWZpY2Fkby4gTyBhcnF1aXZvIHBvZGUgZXN0YXIgY29ycm9tcGlkbywgb3UgbuNvIGVzdGFyIG5vIGZvcm1hdG8gY29ycmV0by4iCk1DSUVSUl9OVUxMX1BBUkFNRVRFUl9CTE9DSywgCSJVbSBibG9jbyBkZSBwYXLibWV0cm8gbnVsbyBmb2kgcGFzc2FkbyBwYXJhIG8gTUNJLi4iCk1DSUVSUl9VTk5BTUVEX1JFU09VUkNFLCAJIk7jbyDpIHBvc3PtdmVsIHNhbHZhciB1bSBhcnF1aXZvIHNlbSBub21lLiBQb3IgZmF2b3IgZm9ybmXnYSB1bSBub21lIGRlIGFycXVpdm8uIgpNQ0lFUlJfTkVXX1JFUVVJUkVTX0FMSUFTLCAJIlZvY+ogcHJlY2lzYSBlc3BlY2lmaWNhciB1bSBhbGlhcyBxdWFuZG8gdXRpbGl6YXIgbyBwYXLibWV0cm8gJ25ldycuIgpNQ0lFUlJfTk9USUZZX09OX0FVVE9fT1BFTiwgCSJO428g6SBwb3Nz7XZlbCB1dGlsaXphciBvIGZsYWcgJ25vdGlmeScgZW0gZGlzcG9zaXRpdm9zIGFiZXJ0b3MgYXV0b21hdGljYW1lbnRlLiIKTUNJRVJSX05PX0VMRU1FTlRfQUxMT1dFRCwgCSJO428g6SBwb3Nz7XZlbCB1c2FyIHVtIG5vbWUgZGUgYXJxdWl2byBjb20gbyBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8uIgpNQ0lFUlJfTk9OQVBQTElDQUJMRV9GVU5DVElPTiwgCSJO428g6SBwb3Nz7XZlbCBkZXNjYXJyZWdhciBvcyBjb21hbmRvcyBuYSBvcmRlbSBlc3BlY2lmaWNhZGEuIENvcnJpamEgYSBzZXF16m5jaWEgZG9zIGNvbWFuZG9zLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9JTExFR0FMX0ZPUl9BVVRPX09QRU4sIAkiTuNvIOkgcG9zc+12ZWwgZGVzY2FycmVnYXIgbyBjb21hbmRvIGVzcGVjaWZpY2FkbyBlbSB1bSBkaXNwb3NpdGl2byBhYmVydG8gYXV0b21hbnRpY2FtZW50ZS4gQWd1YXJkZSBhdOkgbyBkaXNwb3NpdGl2byBzZXIgZmVjaGFkbywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfRklMRU5BTUVfUkVRVUlSRUQsIAkiTyBub21lIGRvIGFycXVpdm8g6SBpbnbhbGlkby4gQ2VydGlmaXF1ZS1zZSBxdWUgbyBub21lIGRvIGFycXVpdm8gbuNvIOkgbWFpb3IgcXVlIDggY2FyYWN0ZXJlcywgc2VndWlkbyBwb3IgdW0gcG9udG8gZSB1bWEgZXh0ZW5z428uIgpNQ0lFUlJfRVhUUkFfQ0hBUkFDVEVSUywgCSJO428g6SBwb3Nz7XZlbCBlc3BlY2lmaWNhciBjYXJhY3RlcmVzIGV4dHJhcyBhcPNzIHVtYSBzdHJpbmcgZW50cmUgYXNwYXMuIgpNQ0lFUlJfREVWSUNFX05PVF9JTlNUQUxMRUQsIAkiTyBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8gbuNvIGVzdGEgaW5zdGFsYWRvIG5vIHNpc3RlbWEuIFV0aWxpemUgbyBvcOfjbyBEcml2ZXJzIG5vIFBhaW5lbCBkZSBDb250cm9sZSBwYXJhIGluc3RhbGFyIG8gZGlzcG9zaXRpdm8uIgpNQ0lFUlJfR0VUX0NELCAJCQkiTuNvIOkgcG9zc+12ZWwgYWNlc3NhciBvIGFycXVpdm8gZXNwZWNpZmljYWRvIG91IG8gZGlzcG9zaXRpdm8gTUNJLiBUZW50ZSBtdWRhciBkZSBkaXJldPNyaW8gb3UgcmVpbmljaWFyIHNldSBjb21wdXRhZG9yLiIKTUNJRVJSX1NFVF9DRCwgCQkJIk7jbyDpIHBvc3PtdmVsIGFjZXNzYXIgbyBhcnF1aXZvIGVzcGVjaWZpY2FkbyBvdSBvIGRpc3Bvc2l0aXZvIE1DSSBwb3JxdWUgYSBhcGxpY2Hn428gbuNvIHBvZGUgbXVkYXIgZGUgZGlyZXTzcmlvLiIKTUNJRVJSX1NFVF9EUklWRSwgCQkiTuNvIHBvc3NvIGFjZXNzYXIgbyBhcnF1aXZvIGVzcGVjaWZpY2FkbyBvdSBvIGRpc3Bvc2l0aXZvIE1DSSBwb3JxdWUgYSBhcGxpY2Hn428gbuNvIHBvZGUgbXVkYXIgZGUgZHJpdmUuIgpNQ0lFUlJfREVWSUNFX0xFTkdUSCwgCQkiRXNwZWNpZmlxdWUgdW0gZGlzcG9zaXRpdm8gb3Ugbm9tZSBkZSBkcml2ZXIgcXVlIHNlamEgbWVub3IgcXVlIDc5IGNhcmFjdGVyZXMuIgpNQ0lFUlJfREVWSUNFX09SRF9MRU5HVEgsIAkiRXNwZWNpZmlxdWUgdW0gZGlzcG9zaXRpdm8gb3Ugbm9tZSBkZSBkcml2ZXIgcXVlIHNlamEgbWVub3IgcXVlIDY5IGNhcmFjdGVyZXMuIgpNQ0lFUlJfTk9fSU5URUdFUiwgCQkiTyBjb21hbmRvIGVzcGVjaWZpY2FkbyByZXF1ZXIgdW0gcGFy4m1ldHJvIGludGVpcm8uIFBvciBmYXZvciBmb3JuZedhIHVtLiIKTUNJRVJSX1dBVkVfT1VUUFVUU0lOVVNFLCAJIlRvZG9zIG9zIGRpc3Bvc2l0aXZvcyB3YXZlIHF1ZSBwb2RlbSB0b2NhciBhcnF1aXZvcyBubyBmb3JtYXRvIGF0dWFsIGVzdONvIGVtIHVzby4gQWd1YXJkZSBhdOkgdW0gZGlzcG9zaXRpdm8gd2F2ZSBmaWNhciBvY2lvc28gZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfV0FWRV9TRVRPVVRQVVRJTlVTRSwgCSJO428g6SBwb3Nz7XZlbCBkZWZpbmlyIG8gZGlzcG9zaXRpdm8gd2F2ZSBhdHVhbCBwYXJhIHRvY2FyIHBvcnF1ZSBlc3ThIGVtIHVzby4gQWd1YXJkZSBhdOkgbyBkaXNwb3NpdGl2byBmaWNhciBvY2lvc28gZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfV0FWRV9JTlBVVFNJTlVTRSwgCSJUb2RvcyBvcyBkaXNwb3NpdGl2b3Mgd2F2ZSBxdWUgcG9kZW0gZ3JhdmFyIGFycXVpdm9zIG5vIGZvcm1hdG8gYXR1YWwgZXN0428gZW0gdXNvLiBBZ3VhcmRlIGF06SBvIGRpc3Bvc2l0aXZvIHdhdmUgZmljYXIgb2Npb3NvLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9XQVZFX1NFVElOUFVUSU5VU0UsIAkiTuNvIGZvaSBwb3NzaXZlbCBkZWZpbmlyIG8gZGlzcG9zaXRpdm8gd2F2ZSBjb3JyZW50ZSBwYXJhIGdyYXZhciBwb3JxdWUgZWxlIGVzdOEgZW0gdXNvLiBBZ3VhcmRlIGF06SBlbGUgZmljYXIgbGl2cmUsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX1dBVkVfT1VUUFVUVU5TUEVDSUZJRUQsCSJRdWFscXVlciBkaXNwb3NpdGl2byB0b2NhZG9yIGNvbXBhdO12ZWwgY29tIG8gZm9ybWF0byB3YXZlIHBvZGUgc2VyIHV0aWxpemFkby4iCk1DSUVSUl9XQVZFX0lOUFVUVU5TUEVDSUZJRUQsIAkiUXVhbHF1ZXIgZGlzcG9zaXRpdm8gZ3JhdmFkb3IgY29tcGF07XZlbCBjb20gbyBmb3JtYXRvIHdhdmUgcG9kZSBzZXIgdXRpbGl6YWRvLiIKTUNJRVJSX1dBVkVfT1VUUFVUU1VOU1VJVEFCTEUsIAkiTmVuaHVtIGRpc3Bvc2l0aXZvIHdhdmUgcXVlIHBvc3NhIHRvY2FyIGFycXVpdm9zIG5vIGZvcm1hdG8gd2F2ZSBlc3ThIGluc3RhbGFkby4gVXNlIGEgb3Dn428gRHJpdmVycyBwYXJhIGluc3RhbGFyIG8gZGlzcG9zaXRpdm8gd2F2ZS4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVFVOU1VJVEFCTEUsIk8gZGlzcG9zaXRpdm8gcXVlIHZvY+ogZXN04SB0ZW50YW5kbyB0b2NhciBu428gcmVjb25oZWNlIG8gZm9ybWF0byBkbyBhcnF1aXZvIGF0dWFsLiIKTUNJRVJSX1dBVkVfSU5QVVRTVU5TVUlUQUJMRSwgCSJOZW5odW0gZGlzcG9zaXRpdm8gd2F2ZSBxdWUgcG9zc2EgZ3JhdmFyIGFycXVpdm9zIG5vIGZvcm1hdG8gYXR1YWwgZXN04SBpbnN0YWxhZG8uIFVzZSBvIG9w5+NvIERyaXZlcnMgcGFyYSBpbnN0YWxhciBvIGRpc3Bvc2l0aXZvIHdhdmUuIgpNQ0lFUlJfV0FWRV9TRVRJTlBVVFVOU1VJVEFCTEUsICJPIGRpc3Bvc2l0aXZvIGRlIG9uZGUgdm9j6iBlc3ThIHRlbnRhbmRvIGdyYXZhciBu428gcG9kZSByZWNvbmhlY2VyIG8gZm9ybWF0byBkbyBhcnF1aXZvIGF0dWFsLiIKTUNJRVJSX05PX1dJTkRPVywgCQkiTuNvIGjhIG5lbmh1bWEgamFuZWxhIGRlIHZpc3VhbGl6Yefjby4iCk1DSUVSUl9DUkVBVEVXSU5ET1csIAkJIk7jbyDpIHBvc3PtdmVsIGNyaWFyIG91IHV0aWxpemFyIGEgamFuZWxhLiIKTUNJRVJSX0ZJTEVfUkVBRCwgCQkiTuNvIOkgcG9zc+12ZWwgbGVyIG8gYXJxdWl2byBlc3BlY2lmaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIG8gYXJxdWl2byBhaW5kYSBlc3ThIHByZXNlbnRlLCBvdSB2ZXJpZmlxdWUgc2V1IGRpc2NvIG91IGNvbmVj5+NvIGRlIHJlZGUuIgpNQ0lFUlJfRklMRV9XUklURSwgCQkiTuNvIOkgcG9zc+12ZWwgZ3JhdmFyIG5vIGFycXVpdm8gZXNwZWNpZmljYWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSB2b2PqIHBvc3N1aSBlc3Bh528gZW0gZGlzY28gc3VmaWNpZW50ZSBvdSBxdWUgYWluZGEgZXN0ZWphIGNvbmVjdGFkbyBuYSByZWRlLiIKTUNJRVJSX1NFUV9ESVZfSU5DT01QQVRJQkxFLCAJIk8gZm9ybWF0byBkZSBob3JhIGRvICIic29uZyBwb2ludGVyIiIgZSBTTVBURSBz428gbXV0dWFsbWVudGUgZXhjbHVzaXZvcy4gVm9j6iBu428gcG9kZSB1dGlsaXrhLWxvcyBqdW50b3MuIgpNQ0lFUlJfU0VRX05PTUlESVBSRVNFTlQsIAkiTyBzaXN0ZW1hIG7jbyBwb3NzdWkgZGlzcG9zaXRpdm9zIE1JREkgaW5zdGFsYWRvcy4gVXNlIGEgb3Dn428gRHJpdmVycyBubyBQYWluZWwgZGUgQ29udHJvbGUgcGFyYSBpbnN0YWxhciB1bSBkcml2ZXIgTUlESS4iCk1DSUVSUl9TRVFfUE9SVF9JTlVTRSwgCQkiQSBwb3J0YSBNSURJIGVzcGVjaWZpY2FkYSBq4SBlc3RhIGVtIHVzby4gQWd1YXJkZSBhdOkgcXVlIGVzdGVqYSBsaXZyZSwgZSB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfU0VRX1BPUlRfTUFQTk9ERVZJQ0UsIAkiQSBjb25maWd1cmHn428gYXR1YWwgZG8gTUlESSBNYXBwZXIgcmVmZXJlLXNlIGEgdW0gZGlzcG9zaXRpdm8gTUlESSBxdWUgbuNvIGVzdOEgaW5zdGFsYWRvIGVtIHNldSBzaXN0ZW1hLiBVc2UgYSBvcOfjbyBNSURJIE1hcHBlciBkbyBQYWluZWwgZGUgQ29udHJvbGUgcGFyYSBlZGl0YXIgYSBjb25maWd1cmHn428uIgpNQ0lFUlJfU0VRX1BPUlRfTUlTQ0VSUk9SLCAJIlVtIGVycm8gb2NvcnJldSBjb20gYSBwb3J0YSBlc3BlY2lmaWNhZGEuIgpNQ0lFUlJfU0VRX1BPUlRfTk9ORVhJU1RFTlQsIAkiTyBkaXNwb3NpdGl2byBNSURJIGVzcGVjaWZpY2FkbyBu428gZXN04SBpbnN0YWxhZG8gZW0gc2V1IHNpc3RlbWEuIFVzZSBhIG9w5+NvIERyaXZlcnMgbm8gUGFpbmVsIGRlIENvbnRyb2xlIHBhcmEgaW5zdGFsYXIgdW0gZGlzcG9zaXRpdm8gTUlESS4iCk1DSUVSUl9TRVFfUE9SVFVOU1BFQ0lGSUVELCAJIk8gc2lzdGVtYSBu428gdOptIGF0dWFsbWVudGUgdW1hIHBvcnRhIE1JREkgZXNwZWNpZmljYWRhLiIKTUNJRVJSX1NFUV9USU1FUiwgCQkiVG9kb3Mgb3MgdGVtcG9yaXphZG9yZXMgZGUgbXVsdGlt7WRpYSBlc3TjbyBzZW5kbyB1dGlsaXphZG9zIHBvciBvdXRyYXMgYXBsaWNh5/Vlcy4gRmVjaGUgdW1hIGRlc3NhcyBhcGxpY2Hn9WVzLCBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgoKRU5ECgpTVFJJTkdUQUJMRSBMQU5HVUFHRSBMQU5HX1BPUlRVR1VFU0UsIFNVQkxBTkdfUE9SVFVHVUVTRQoKQkVHSU4KCi8qIE1NU1lTIGVycm9ycyAqLwpNTVNZU0VSUl9OT0VSUk9SLCAJCSJPIGNvbWFuZG8gaW5kaWNhZG8gZm9pIHJlYWxpemFkby4iCk1NU1lTRVJSX0VSUk9SLCAJCSJFcnJvIGV4dGVybm8gbuNvIGRlZmluaWRvLiIKTU1TWVNFUlJfQkFEREVWSUNFSUQsIAkJIk8gSUQgZGUgdW0gZGlzcG9zaXRpdm8gdXNhZG8gZXN04SBmb3JhIGRvcyBwYXLibWV0cm9zIGRvIHNldSBzaXN0ZW1hLiIKTU1TWVNFUlJfTk9URU5BQkxFRCwgCQkiTyBjb250cm9sYWRvciBu428gZm9pIGFjdGl2YWRvLiIKTU1TWVNFUlJfQUxMT0NBVEVELCAJCSJPIGRpc3Bvc2l0aXZvIGluZGljYWRvIGrhIGVzdOEgZW0gdXNvLiBBZ3VhcmRlIGF06SBxdWUgZXN0ZWphIGxpdnJlLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1NU1lTRVJSX0lOVkFMSEFORExFLCAJCSJPIG1hbnVzZWFtZW50byBkbyBkaXNwb3NpdGl2byBpbmRpY2FkbyDpIGluduFsaWRvLiIKTU1TWVNFUlJfTk9EUklWRVIsIAkJIk7jbyBleGlzdGUgbmVuaHVtIGNvbnRyb2xhZG9yIGluc3RhbGFkbyBubyBzZXUgc2lzdGVtYSAhXG4iCk1NU1lTRVJSX05PTUVNLCAJCSJO428gZXhpc3RlIG1lbfNyaWEgZGlzcG9u7XZlbCBzdWZpY2llbnRlIHBhcmEgZXN0YSB0YXJlZmEuIEZlY2hlIHVtYSBvdSBtYWlzIGFwbGljYef1ZXMgcGFyYSBhdW1lbnRhciBhIG1lbfNyaWEgZGlzcG9u7XZlbCwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNTVNZU0VSUl9OT1RTVVBQT1JURUQsIAkJIkVzdGEgZnVu5+NvIG7jbyDpIHN1cG9ydGFkYS4gVXNlIGEgZnVu5+NvIENhcGFjaWRhZGVzIHBhcmEgZGV0ZXJtaW5hciBxdWUgZnVu5/VlcyBlIG1lbnNhZ2VucyBvIGNvbnRyb2xhZG9yIHN1cG9ydGEuIgpNTVNZU0VSUl9CQURFUlJOVU0sIAkJIlVtIG76bWVybyBkZSBlcnJvIGZvaSBpbmRpY2FkbyBxdWUgbuNvIGVzdOEgZGVmaW5pZG8gbm8gc2V1IHNpc3RlbWEuIgpNTVNZU0VSUl9JTlZBTEZMQUcsIAkJIlVtYSBvcOfjbyBpbnbhbGlkYSBmb2kgcGFzc2FkYSBwYXJhIHVtYSBmdW7n428gZG8gc2lzdGVtYS4iCk1NU1lTRVJSX0lOVkFMUEFSQU0sIAkJIlVtIHBhcuJtZXRybyBpbnbhbGlkbyBmb2kgcGFzc2FkbyBwYXJhIHVtYSBmdW7n428gZG8gc2lzdGVtYS4iCgovKiBXQVZFIGVycm9ycyAqLwpXQVZFUlJfQkFERk9STUFULCAJCSJPIGZvcm1hdG8gaW5kaWNhZG8gbuNvIOkgc3Vwb3J0YWRvIG91IG7jbyBwb2RlIHNlciB0cmFkdXppZG8uIFVzZSBhIGZ1bufjbyBDYXBhY2lkYWRlcyBwYXJhIGRldGVybWluYXIgb3MgZm9ybWF0b3Mgc3Vwb3J0YWRvcy4iCldBVkVSUl9TVElMTFBMQVlJTkcsIAkJIk7jbyDpIHBvc3PtdmVsIGV4ZWN1dGFyIGVzdGEgb3BlcmHn428gZW5xdWFuZG8gb3MgZGFkb3MgZGEgbelkaWEgZXN0aXZlcmVtIGEgcmVwcm9kdXppci4gUmVpbmljaWUgbyBkaXNwb3NpdGl2bywgb3UgYWd1YXJkZSBhdOkgcXVlIGEgcmVwcm9kdefjbyBkb3MgZGFkb3MgdGVybWluZS4iCldBVkVSUl9VTlBSRVBBUkVELCAJCSJPIGNhYmXnYWxobyBkbyB3YXZlIG7jbyBlc3ThIHByZXBhcmFkby4gVXNlIGEgZnVu5+NvIFByZXBhcmFyIHBhcmEgcHJlcGFyYXIgbyBjYWJl52FsaG8sIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKV0FWRVJSX1NZTkMsIAkJCSJO428g6SBwb3Nz7XZlbCBhYnJpciBvIGRpc3Bvc2l0aXZvIHNlbSB1c2FyIGEgb3Dn428gV0FWRV9BTExPV1NZTkMuIFVzZSBhIG9w5+NvLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCgovKiBNSURJIGVycm9ycyAqLwpNSURJRVJSX1VOUFJFUEFSRUQsIAkJIk8gY2FiZedhbGhvIE1JREkgbuNvIGVzdOEgcHJlcGFyYWRvLiBVc2UgYSBmdW7n428gUHJlcGFyYXIgcGFyYSBwcmVwYXJhciBvIGNhYmXnYWxobywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNSURJRVJSX1NUSUxMUExBWUlORywgCQkiTuNvIOkgcG9zc+12ZWwgZXhlY3V0YXIgZXN0YSBvcGVyYefjbyBlbnF1YW50byBvcyBkYWRvcyBkYSBt6WRpYSBlc3RpdmVyZW0gYSBzZXIgcmVwcm9kdXppZG9zLiBSZWluaWNpZSBvIGRpc3Bvc2l0aXZvLCBvdSBhZ3VhcmRlIGF06SBxdWUgYSByZXByb2R15+NvIGRvcyBkYWRvcyB0ZXJtaW5lLiIKTUlESUVSUl9OT01BUCwgCQkJIk7jbyBmb2kgZW5jb250cmFkbyB1bSBtYXBhIE1JREkuIFRhbHZleiBzZWphIHVtIHByb2JsZW1hIGNvbSBvIGNvbnRyb2xhZG9yLCBvdSBvIGZpY2hlaXJvIE1JRElNQVAuQ0ZHIHBvZGUgZXN0YXIgY29ycm9tcGlkbyBvdSBlbSBmYWx0YS4iCk1JRElFUlJfTk9UUkVBRFksIAkJIk8gcG9ydG8gZXN04SBhIHRyYW5zbWl0aXIgZGFkb3MgcGFyYSBvIGRpc3Bvc2l0aXZvLiBBZ3VhcmRlIGF06SBxdWUgb3MgZGFkb3MgdGVybWluZW0gZGUgc2VyIHRyYW5zbWl0aWRvcywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNSURJRVJSX05PREVWSUNFLCAJCSJBIGNvbmZpZ3VyYefjbyBhY3R1YWwgZG8gTWFwZWFkb3IgTUlESSByZWZlcmUtc2UgYSB1bSBkaXNwb3NpdGl2byBNSURJIHF1ZSBu428gZXN04SBpbnN0YWxhZG8gbm8gc2lzdGVtYS4gVXNlIG8gTWFwZWFkb3IgTUlESSBwYXJhIGVkaXRhciBhIGNvbmZpZ3VyYefjby4iCk1JRElFUlJfSU5WQUxJRFNFVFVQLCAJCSJBIGNvbmZpZ3VyYefjbyBhY3R1YWwgZG8gTUlESSBlc3ThIGNvcnJvbXBpZGEuIENvcGllIG8gZmljaGVpcm8gb3JpZ2luYWwgTUlESU1BUC5DRkcgcGFyYSBvIGRpcmVjdPNyaW8gV2luZG93cyBTWVNURU0sIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKCi8qIE1DSSBlcnJvcnMgKi8KTUNJRVJSX0lOVkFMSURfREVWSUNFX0lELCAJIklEIGluduFsaWRvIGRvIGRpc3Bvc2l0aXZvIE1DSS4gVXNlIG8gSUQgcmV0b3JuYWRvIHBhcmEgYWJyaXIgbyBkaXNwb3NpdGl2byBNQ0kuIgpNQ0lFUlJfVU5SRUNPR05JWkVEX0tFWVdPUkQsIAkiTyBjb250cm9sYWRvciBu428gcG9kZSByZWNvbmhlY2VyIG8gcGFy4m1ldHJvIGRvIGNvbWFuZG8gaW5kaWNhZG8uIgpNQ0lFUlJfVU5SRUNPR05JWkVEX0NPTU1BTkQsCSJPIGNvbnRyb2xhZG9yIG7jbyBwb2RlIHJlY29uaGVjZXIgbyBjb21hbmRvIGluZGljYWRvLiIKTUNJRVJSX0hBUkRXQVJFLCAJCSJFeGlzdGUgdW0gcHJvYmxlbWEgY29tIG8gc2V1IGRpc3Bvc2l0aXZvIGRlIG3pZGlhLiBDZXJ0aWZpcXVlLXNlIHF1ZSBlc3ThIGEgZnVuY2lvbmFyIGNvcnJlY3RhbWVudGUgb3UgY29udGFjdGUgbyBmYWJyaWNhbnRlIGRvIGRpc3Bvc2l0aXZvLiIKTUNJRVJSX0lOVkFMSURfREVWSUNFX05BTUUsIAkiTyBkaXNwb3NpdGl2byBpbmRpY2FkbyBu428gZXN04SBhYmVydG8gb3UgbuNvIOkgcmVjb25oZWNpZG8gcGVsbyBNQ0kuIgpNQ0lFUlJfT1VUX09GX01FTU9SWSwgCQkiTuNvIGjhIG1lbfNyaWEgZGlzcG9u7XZlbCBzdWZpY2llbnRlIHBhcmEgZXN0YSB0YXJlZmEuXG5GZWNoZSB1bWEgb3UgbWFpcyBhcGxpY2Hn9WVzIHBhcmEgYXVtZW50YXIgYSBtZW3zcmlhIGRpc3Bvbu12ZWwsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX0RFVklDRV9PUEVOLCAJCSJPIG5vbWUgZG8gZGlzcG9zaXRpdm8gauEgZXN04SBhIHNlciB1c2FkbyBjb21vIHVtYSBhbGlhcyBwb3IgZXN0YSBhcGxpY2Hn428uIFVzZSB1bWEgYWxpYXMg+m5pY2EuIgpNQ0lFUlJfQ0FOTk9UX0xPQURfRFJJVkVSLCAJIk9jb3JyZXUgdW0gcHJvYmxlbWEgZGVzY29uaGVjaWRvIGVucXVhbnRvIGNhcnJlZ2F2YSBvIGNvbnRyb2xhZG9yIGRvIGRpc3Bvc2l0aXZvIGVzcGVjaWZpY2Fkby4iCk1DSUVSUl9NSVNTSU5HX0NPTU1BTkRfU1RSSU5HLCAJIk5lbmh1bSBjb21hbmRvIGluZGljYWRvLiIKTUNJRVJSX1BBUkFNX09WRVJGTE9XLCAJCSJBIHN0cmluZyBkZSBzYe1kYSBlcmEgZGVtYXNkaWFkbyBjb21wcmlkYSBwYXJhIHNlciBjb2xvY2FkYSBubyAnYnVmZmVyJyBkZSByZXRvcm5vLiBBdW1lbnRlIG8gdGFtYW5obyBkbyAnYnVmZmVyJy4iCk1DSUVSUl9NSVNTSU5HX1NUUklOR19BUkdVTUVOVCwgIk8gY29tYW5kbyBpbmRpY2FkbyByZXF1ZXIgY29tbyBwYXLibWV0cm8gdW1hIHN0cmluZyBkZSBjYXJhY3RlcmVzLiBQb3IgZmF2b3IsIGZvcm5l52EtYS4iCk1DSUVSUl9CQURfSU5URUdFUiwgCQkiTyBpbnRlaXJvIGluZGljYWRvIOkgaW524WxpZG8gcGFyYSBlc3RlIGNvbWFuZG8uIgpNQ0lFUlJfUEFSU0VSX0lOVEVSTkFMLCAJIk8gY29udHJvbGFkb3IgZG8gZGlzcG9zaXRpdm8gcmV0b3Jub3UgdW0gdGlwbyBpbnbhbGlkby4gVmVyaWZpcXVlIGNvbSBvIGZhYnJpY2FudGUgZG8gZGlzcG9zaXRpdm8gY29tbyBvYnRlciB1bSBub3ZvIGNvbnRyb2xhZG9yLiIKTUNJRVJSX0RSSVZFUl9JTlRFUk5BTCwgCSJPY29ycmV1IHVtIHByb2JsZW1hIGNvbSBvIHNldSBjb250cm9sYWRvciBkZSBkaXNwb3NpdGl2by4gVmVyaWZpcXVlIGNvbSBvIGZhYnJpY2FudGUgZG8gZGlzcG9zaXRpdm8gY29tbyBvYnRlciB1bSBub3ZvIGNvbnRyb2xhZG9yLiIKTUNJRVJSX01JU1NJTkdfUEFSQU1FVEVSLCAJIk8gY29tYW5kbyBpbmRpY2FkbyByZXF1ZXIgdW0gcGFy4m1ldHJvLiBQb3IgZmF2b3IgZm9ybmXnYS1vLiIKTUNJRVJSX1VOU1VQUE9SVEVEX0ZVTkNUSU9OLCAJIk8gZGlzcG9zaXRpdm8gTUNJIHF1ZSBlc3ThIGEgdXNhciBu428gc3Vwb3J0YSBvIGNvbWFuZG8gaW5kaWNhZG8uIgpNQ0lFUlJfRklMRV9OT1RfRk9VTkQsIAkJIk7jbyDpIHBvc3PtdmVsIGVuY29udHJhciBvIGZpY2hlaXJvIGluZGljYWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSBhIGxvY2FsaXph5+NvIGUgbyBub21lIGRvIGZpY2hlaXJvIGVzdONvIGNvcnJlY3Rvcy4iCk1DSUVSUl9ERVZJQ0VfTk9UX1JFQURZLCAJIk8gY29udHJvbGFkb3IgZG8gZGlzcG9zaXRpdm8gbuNvIGVzdOEgcHJlcGFyYWRvLiIKTUNJRVJSX0lOVEVSTkFMLCAJCSJPY29ycmV1IHVtIHByb2JsZW1hIG5hIGluaWNpYWxpemHn428gZG8gTUNJLiBUZW50ZSByZWluaWNpYXIgbyBXaW5kb3dzLiIKTUNJRVJSX0RSSVZFUiwgCQkJIkV4aXN0ZSB1bSBwcm9ibGVtYSBjb20gbyBjb250cm9sYWRvciBkbyBkaXNwb3NpdGl2by4gTyBjb250cm9sYWRvciBmb2kgZmVjaGFkby4gTuNvIOkgcG9zc+12ZWwgYWNlZGVyIGFvIGVycm8uIgpNQ0lFUlJfQ0FOTk9UX1VTRV9BTEwsIAkJIk7jbyDpIHBvc3PtdmVsIHVzYXIgJ2FsbCcgY29tbyBub21lIGRvIGRpc3Bvc2l0aXZvIGNvbSBvIGNvbWFuZG8gaW5kaWNhZG8uIgpNQ0lFUlJfTVVMVElQTEUsIAkJIk9jb3JyZXJhbSBlcnJvcyBlbSBtYWlzIGRlIHVtIGRpc3Bvc2l0aXZvLiBJbmRpcXVlIGNhZGEgY29tYW5kbyBlIGRpc3Bvc2l0aXZvIHNlcGFyYWRhbWVudGUgcGFyYSBkZXRlcm1pbmFyIHF1ZSBkaXNwb3NpdGl2b3MgY2F1c2FyYW0gbyBlcnJvLiIKTUNJRVJSX0VYVEVOU0lPTl9OT1RfRk9VTkQsIAkiTuNvIOkgcG9zc+12ZWwgZGV0ZXJtaW5hciBvIHRpcG8gZGUgZGlzcG9zaXRpdm8gZGFkYSBhIGV4dGVuc+NvIGRvIGZpY2hlaXJvLiIKTUNJRVJSX09VVE9GUkFOR0UsIAkJIk8gcGFy4m1ldHJvIGluZGljYWRvIGVzdOEgZm9yYSBkYSBlc2NhbGEgcGFyYSBvIGNvbWFuZG8gaW5kaWNhZG8uIgpNQ0lFUlJfRkxBR1NfTk9UX0NPTVBBVElCTEUsIAkiT3MgcGFy4m1ldHJvcyBpbmRpY2Fkb3MgbuNvIHBvZGVtIHNlciB1dGlsaXphZG9zIGp1bnRvcy4iCk1DSUVSUl9GSUxFX05PVF9TQVZFRCwgCQkiTuNvIOkgcG9zc+12ZWwgZ3JhdmFyIG8gZmljaGVpcm8gaW5kaWNhZG8uIENlcnRpZmlxdWUtc2UgcXVlIHRlbSBlc3Bh528gZW0gZGlzY28gc3VmaWNpZW50ZSBvdSBxdWUgYWluZGEgZXN04SBjb25lY3RhZG8gbmEgcmVkZS4iCk1DSUVSUl9ERVZJQ0VfVFlQRV9SRVFVSVJFRCwgCSJO428g6SBwb3Nz7XZlbCBlbmNvbnRyYXIgbyBkaXNwb3NpdGl2byBpbmRpY2Fkby4gQ2VydGlmaXF1ZS1zZSBxdWUgZXN04SBpbnN0YWxhZG8gb3UgcXVlIG8gbm9tZSBkbyBkaXNwb3NpdGl2byBmb2kgZXNjcml0byBjb3JyZWN0YW1lbnRlLiIKTUNJRVJSX0RFVklDRV9MT0NLRUQsIAkJIk8gZGlzcG9zaXRpdm8gaW5pY2FkbyBlc3ThIGEgc2VyIGZlY2hhZG8gYWdvcmEuIEFndWFyZGUgYWxndW5zIHNlZ3VuZG9zLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9EVVBMSUNBVEVfQUxJQVMsIAkiQSAnYWxpYXMnIGluZGljYWRhIGrhIGVzdOEgYSBzZXIgdXNhZGEgbmVzdGEgYXBsaWNh5+NvLiBVc2UgdW1hIGFsaWFzIPpuaWNhLiIKTUNJRVJSX0JBRF9DT05TVEFOVCwgCQkiTyBwYXLibWV0cm8gaW5kaWNhZG8g6SBpbnbhbGlkbyBwYXJhIGVzdGUgY29tYW5kby4iCk1DSUVSUl9NVVNUX1VTRV9TSEFSRUFCTEUsIAkiTyBjb250cm9sYWRvciBkZSBkaXNwb3NpdGl2byBq4SBlc3ThIGVtIHVzby4gUGFyYSBvIHBhcnRpbGhhciwgdXNlIG8gcGFy4m1ldHJvICdzaGFyZWFibGUnIHBhcmEgY2FkYSBjb21hbmRvICdvcGVuJy4iCk1DSUVSUl9NSVNTSU5HX0RFVklDRV9OQU1FLCAJIk8gY29tYW5kbyBpbmRpY2FkbyByZXF1ZXIgdW1hICdhbGlhcycsIGZpY2hlaXJvLCBjb250cm9sYWRvciBvdSBub21lIGRlIGRpc3Bvc2l0aXZvLiBQb3IgZmF2b3IsIGZvcm5l52EgdW0uIgpNQ0lFUlJfQkFEX1RJTUVfRk9STUFULCAJIk8gdmFsb3IgaW5kaWNhZG8gcGFyYSBvIGZvcm1hdG8gaG9y4XJpbyDpIGluduFsaWRvLiBWZXJpZmlxdWUgbmEgZG9jdW1lbnRh5+NvIE1DSSBhY2VyY2EgZG9zIGZvcm1hdG9zIHbhbGlkb3MuIgpNQ0lFUlJfTk9fQ0xPU0lOR19RVU9URSwgCSJBIGFzcGEtZHVwbGEgZGUgZmVjaG8gZXN04SBlbSBmYWx0YSBwYXJhIG8gdmFsb3IgZG8gcGFy4m1ldHJvLiBQb3IgZmF2b3IgZm9ybmXnYSB1bWEuIgpNQ0lFUlJfRFVQTElDQVRFX0ZMQUdTLCAJIlVtIHBhcuJtZXRybyBvdSB2YWxvciBmb2kgaW5kaWNhZG8gZHVhcyB2ZXplcy4gSW5kaXF1ZS1vIGFwZW5hcyB1bWEg+m5pY2EgdmV6LiIKTUNJRVJSX0lOVkFMSURfRklMRSwgCQkiTyBmaWNoZWlybyBpbmRpY2FkbyBu428gcG9kZSBzZXIgcmVwcm9kdXppZG8gbm8gZGlzcG9zaXRpdm8gTUNJIGVzcGVjaWZpY2Fkby4gTyBmaWNoZWlybyBwb2RlIGVzdGFyIGNvcnJvbXBpZG8sIG91IHBvZGUgbuNvIGVzdGFyIG5vIGZvcm1hdG8gY29ycmVjdG8uIgpNQ0lFUlJfTlVMTF9QQVJBTUVURVJfQkxPQ0ssIAkiVW0gYmxvY28gZGUgcGFy4m1ldHJvIG51bG8gZm9pIHBhc3NhZG8gcGFyYSBvIE1DSS4uIgpNQ0lFUlJfVU5OQU1FRF9SRVNPVVJDRSwgCSJO428g6SBwb3Nz7XZlbCBncmF2YXIgdW0gZmljaGVpcm8gc2VtIG5vbWUuIFBvciBmYXZvciBpbmRpcXVlIHVtIG5vbWUgZGUgZmljaGVpcm8uIgpNQ0lFUlJfTkVXX1JFUVVJUkVTX0FMSUFTLCAJIlByZWNpc2EgaW5kaWNhciB1bWEgJ2FsaWFzJyBxdWFuZG8gdXNhciBvIHBhcuJtZXRybyAnbmV3Jy4iCk1DSUVSUl9OT1RJRllfT05fQVVUT19PUEVOLCAJIk7jbyDpIHBvc3PtdmVsIHVzYXIgYSBvcOfjbyAnbm90aWZ5JyBlbSBkaXNwb3NpdGl2b3MgYWJlcnRvcyBhdXRvbWF0aWNhbWVudGUuIgpNQ0lFUlJfTk9fRUxFTUVOVF9BTExPV0VELCAJIk7jbyDpIHBvc3PtdmVsIHVzYXIgdW0gbm9tZSBkZSBmaWNoZWlybyBjb20gbyBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8uIgpNQ0lFUlJfTk9OQVBQTElDQUJMRV9GVU5DVElPTiwgCSJO428g6SBwb3Nz7XZlbCBkZXNjYXJyZWdhciBvcyBjb21hbmRvcyBuYSBvcmRlbSBpbmRpY2FkYS4gQ29ycmlqYSBhIHNlcXXqbmNpYSBkZSBjb21hbmRvcywgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfSUxMRUdBTF9GT1JfQVVUT19PUEVOLCAJIk7jbyDpIHBvc3PtdmVsIGRlc2NhcnJlZ2FyIG8gY29tYW5kbyBpbmRpY2FkbyBudW0gZGlzcG9zaXRpdm8gYWJlcnRvIGF1dG9tYW50aWNhbWVudGUuIEFndWFyZGUgYXTpIHF1ZSBvIGRpc3Bvc2l0aXZvIGVzdGVqYSBmZWNoYWRvLCBlIGVudONvIHRlbnRlIG5vdmFtZW50ZS4iCk1DSUVSUl9GSUxFTkFNRV9SRVFVSVJFRCwgCSJPIG5vbWUgZG8gZmljaGVpcm8g6SBpbnbhbGlkby4gQ2VydGlmaXF1ZS1zZSBxdWUgbyBub21lIGRvIGZpY2hlaXJvIG7jbyDpIG1haW9yIHF1ZSA4IGNhcmFjdGVyZXMsIHNlZ3VpZG8gcG9yIHVtIHBvbnRvIGUgdW1hIGV4dGVuc+NvLiIKTUNJRVJSX0VYVFJBX0NIQVJBQ1RFUlMsIAkiTuNvIOkgcG9zc+12ZWwgaW5kaWNhciBjYXJhY3RlcmVzIGV4dHJhcyBhcPNzIHVtYSBzdHJpbmcgZW50cmUgYXNwYXMuIgpNQ0lFUlJfREVWSUNFX05PVF9JTlNUQUxMRUQsIAkiTyBkaXNwb3NpdGl2byBpbmRpY2FkbyBu428gZXN04SBpbnN0YWxhZG8gbm8gc2lzdGVtYS4gVXNlIGEgb3Dn428gQ29udHJvbGFkb3JlcyBubyBQYWluZWwgZGUgQ29udHJvbG8gcGFyYSBpbnN0YWxhciBvIGRpc3Bvc2l0aXZvLiIKTUNJRVJSX0dFVF9DRCwgCQkJIk7jbyDpIHBvc3PtdmVsIGFjZWRlciBhbyBmaWNoZWlybyBpbmRpY2FkbyBvdSBhbyBkaXNwb3NpdGl2byBNQ0kuIFRlbnRlIG11ZGFyIGRlIGRpcmVjdPNyaW8gb3UgcmVpbmljaWUgbyBzZXUgY29tcHV0YWRvci4iCk1DSUVSUl9TRVRfQ0QsIAkJCSJO428g6SBwb3Nz7XZlbCBhY2VkZXIgYW8gZmljaGVpcm8gaW5kaWNhZG8gb3UgYW8gZGlzcG9zaXRpdm8gTUNJIHBvcnF1ZSBhIGFwbGljYefjbyBu428gcG9kZSBtdWRhciBkZSBkaXJlY3TzcmlvLiIKTUNJRVJSX1NFVF9EUklWRSwgCQkiTuNvIOkgcG9zc+12ZWwgYWNlZGVyIGFvIGZpY2hlaXJvIGluZGljYWRvIG91IG8gZGlzcG9zaXRpdm8gTUNJIHBvcnF1ZSBhIGFwbGljYefjbyBu428gcG9kZSBtdWRhciBkZSBjb250cm9sYWRvci4iCk1DSUVSUl9ERVZJQ0VfTEVOR1RILCAJCSJJbmRpcXVlIHVtIGRpc3Bvc2l0aXZvIG91IG5vbWUgZGUgY29udHJvbGFkb3IgcXVlIHNlamEgbWVub3IgcXVlIDc5IGNhcmFjdGVyZXMuIgpNQ0lFUlJfREVWSUNFX09SRF9MRU5HVEgsIAkiSW5kaXF1ZSB1bSBkaXNwb3NpdGl2byBvdSBub21lIGRlIGNvbnRyb2xhZG9yIHF1ZSBzZWphIG1lbm9yIHF1ZSA2OSBjYXJhY3RlcmVzLiIKTUNJRVJSX05PX0lOVEVHRVIsIAkJIk8gY29tYW5kbyBpbmRpY2FkbyByZXF1ZXIgdW0gcGFy4m1ldHJvIGludGVpcm8uIFBvciBmYXZvciBmb3JuZedhIHVtLiIKTUNJRVJSX1dBVkVfT1VUUFVUU0lOVVNFLCAJIlRvZG9zIG9zIGRpc3Bvc2l0aXZvcyB3YXZlIHF1ZSBwb2RlbSByZXByb2R1emlyIGZpY2hlaXJvcyBubyBmb3JtYXRvIGFjdHVhbCBlc3TjbyBlbSB1c28uIEFndWFyZGUgYXTpIHVtIGRpc3Bvc2l0aXZvIHdhdmUgZmlxdWUgIGxpdnJlIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX1dBVkVfU0VUT1VUUFVUSU5VU0UsIAkiTuNvIOkgcG9zc+12ZWwgZGVmaW5pciBvIGRpc3Bvc2l0aXZvIHdhdmUgYWN0dWFsIHBhcmEgcmVwcm9kdXppciBwb3JxdWUgZXN04SBlbSB1c28uIEFndWFyZGUgYXTpIG8gZGlzcG9zaXRpdm8gZmlxdWUgbGl2cmUgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfV0FWRV9JTlBVVFNJTlVTRSwgCSJUb2RvcyBvcyBkaXNwb3NpdGl2b3Mgd2F2ZSBxdWUgcG9kZW0gZ3JhdmFyIGZpY2hlaXJvcyBubyBmb3JtYXRvIGFjdHVhbCBlc3TjbyBlbSB1c28uIEFndWFyZGUgYXTpIG8gZGlzcG9zaXRpdm8gd2F2ZSBmaXF1ZSBsaXZyZSwgZSBlbnTjbyB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfV0FWRV9TRVRJTlBVVElOVVNFLCAJIk7jbyBmb2kgcG9zc2l2ZWwgZGVmaW5pciBvIGRpc3Bvc2l0aXZvIHdhdmUgYWN0dWFsIHBhcmEgZ3JhdmFyIHBvcnF1ZSBlc3ThIGVtIHVzby4gQWd1YXJkZSBhdOkgcXVlIG8gZGlzcG9zaXRpdm8gZmlxdWUgbGl2cmUsIGUgZW50428gdGVudGUgbm92YW1lbnRlLiIKTUNJRVJSX1dBVkVfT1VUUFVUVU5TUEVDSUZJRUQsCSJRdWFscXVlciBkaXNwb3NpdGl2byBjb21wYXTtdmVsIHF1ZSByZXByb2R1eiBubyBmb3JtYXRvIHdhdmUgcG9kZSBzZXIgdXNhZG8uIgpNQ0lFUlJfV0FWRV9JTlBVVFVOU1BFQ0lGSUVELCAJIlF1YWxxdWVyIGRpc3Bvc2l0aXZvIGNvbXBhdO12ZWwgcXVlIGdyYXZlIG5vIGZvcm1hdG8gd2F2ZSBwb2RlIHNlciB1c2Fkby4iCk1DSUVSUl9XQVZFX09VVFBVVFNVTlNVSVRBQkxFLCAJIk5lbmh1bSBkaXNwb3NpdGl2byB3YXZlIHF1ZSBwb3NzYSByZXByb2R1emlyIGZpY2hlaXJvcyBubyBmb3JtYXRvIHdhdmUgZXN04SBpbnN0YWxhZG8uIFVzZSBhIG9w5+NvIENvbnRyb2xhZG9yZXMgcGFyYSBpbnN0YWxhciBvIGRpc3Bvc2l0aXZvIHdhdmUuIgpNQ0lFUlJfV0FWRV9TRVRPVVRQVVRVTlNVSVRBQkxFLCJPIGRpc3Bvc2l0aXZvIHF1ZSBlc3ThIGEgdGVudGFyIHJlcHJvZHV6aXIgbuNvIHJlY29uaGVjZSBvIGZvcm1hdG8gZG8gZmljaGVpcm8gYWN0dWFsLiIKTUNJRVJSX1dBVkVfSU5QVVRTVU5TVUlUQUJMRSwgCSJOZW5odW0gZGlzcG9zaXRpdm8gd2F2ZSBxdWUgcG9zc2EgZ3JhdmFyIGZpY2hlaXJvcyBubyBmb3JtYXRvIGFjdHVhbCBlc3ThIGluc3RhbGFkby4gVXNlIGEgb3Dn428gQ29udHJvbGFkb3JlcyBwYXJhIGluc3RhbGFyIG8gZGlzcG9zaXRpdm8gd2F2ZS4iCk1DSUVSUl9XQVZFX1NFVElOUFVUVU5TVUlUQUJMRSwgIk8gZGlzcG9zaXRpdm8gcXVlIGVzdOEgYSB1c2FyIHBhcmEgZ3JhdmFyIG7jbyBwb2RlIHJlY29uaGVjZXIgbyBmb3JtYXRvIGRvIGZpY2hlaXJvIGFjdHVhbC4iCk1DSUVSUl9OT19XSU5ET1csIAkJIk7jbyBleGlzdGUgbmVuaHVtYSBqYW5lbGEgZGUgdmlzdWFsaXph5+NvLiIKTUNJRVJSX0NSRUFURVdJTkRPVywgCQkiTuNvIOkgcG9zc+12ZWwgY3JpYXIgb3UgdXNhciBhIGphbmVsYS4iCk1DSUVSUl9GSUxFX1JFQUQsIAkJIk7jbyDpIHBvc3PtdmVsIGxlciBvIGZpY2hlaXJvIGluZGljYWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSBvIGZpY2hlaXJvIGFpbmRhIGVzdOEgcHJlc2VudGUsIG91IHZlcmlmaXF1ZSBvIHNldSBkaXNjbyBvdSBjb25leONvIGRhIHJlZGUuIgpNQ0lFUlJfRklMRV9XUklURSwgCQkiTuNvIOkgcG9zc+12ZWwgZ3JhdmFyIG5vIGZpY2hlaXJvIGluZGljYWRvLiBDZXJ0aWZpcXVlLXNlIHF1ZSBwb3NzdWkgZXNwYedvIGVtIGRpc2NvIHN1ZmljaWVudGUgb3UgcXVlIGFpbmRhIGVzdOEgY29uZWN0YWRvIG5hIHJlZGUuIgpNQ0lFUlJfU0VRX0RJVl9JTkNPTVBBVElCTEUsIAkiTyBmb3JtYXRvIGRlIGhvcmEgZG8gIiJzb25nIHBvaW50ZXIiIiBlIFNNUFRFIHPjbyBtdXR1YWxtZW50ZSBleGNsdXNpdm9zLiBO428gcG9kZSB1c+EtbG9zIGp1bnRvcy4iCk1DSUVSUl9TRVFfTk9NSURJUFJFU0VOVCwgCSJPIHNpc3RlbWEgbuNvIHBvc3N1aSBkaXNwb3NpdGl2b3MgTUlESSBpbnN0YWxhZG9zLiBVc2UgYSBvcOfjbyBDb250cm9sYWRvcmVzIG5vIFBhaW5lbCBkZSBDb250cm9sbyBwYXJhIGluc3RhbGFyIHVtIGNvbnRyb2xhZG9yIE1JREkuIgpNQ0lFUlJfU0VRX1BPUlRfSU5VU0UsIAkJIk8gcG9ydG8gTUlESSBpbmRpY2FkbyBq4SBlc3ThIGVtIHVzby4gQWd1YXJkZSBhdOkgcXVlIGVzdGVqYSBsaXZyZSwgZSB0ZW50ZSBub3ZhbWVudGUuIgpNQ0lFUlJfU0VRX1BPUlRfTUFQTk9ERVZJQ0UsIAkiQSBjb25maWd1cmHn428gYWN0dWFsIGRvIE1hcGVhZG9yIE1JREkgcmVmZXJlLXNlIGEgdW0gZGlzcG9zaXRpdm8gTUlESSBxdWUgbuNvIGVzdOEgaW5zdGFsYWRvIG5vIHNldSBzaXN0ZW1hLiBVc2UgYSBvcOfjbyBNYXBlYWRvciBNSURJIGRvIFBhaW5lbCBkZSBDb250cm9sbyBwYXJhIGVkaXRhciBhIGNvbmZpZ3VyYefjby4iCk1DSUVSUl9TRVFfUE9SVF9NSVNDRVJST1IsIAkiT2NvcnJldSB1bSBlcnJvIG5vIHBvcnRvIGluZGljYWRvLiIKTUNJRVJSX1NFUV9QT1JUX05PTkVYSVNURU5ULCAJIk8gZGlzcG9zaXRpdm8gTUlESSBpbmRpY2FkbyBu428gZXN04SBpbnN0YWxhZG8gbm8gc2V1IHNpc3RlbWEuIFVzZSBhIG9w5+NvIENvbnRyb2xhZG9yZXMgbm8gUGFpbmVsIGRlIENvbnRyb2xvIHBhcmEgaW5zdGFsYXIgdW0gZGlzcG9zaXRpdm8gTUlESS4iCk1DSUVSUl9TRVFfUE9SVFVOU1BFQ0lGSUVELCAJIk8gc2lzdGVtYSBhY3R1YWxtZW50ZSBu428gdGVtIHVtIHBvcnRvIE1JREkgZGVmaW5pZG8uIgpNQ0lFUlJfU0VRX1RJTUVSLCAJCSJUb2RvcyBvcyB0ZW1wb3JpemFkb3JlcyBkZSBtdWx0aW3pZGlhIGVzdONvIGEgc2VyIHVzYWRvcyBwb3Igb3V0cmFzIGFwbGljYef1ZXMuIEZlY2hlIHVtYSBkZXNzYXMgYXBsaWNh5/VlcywgZW50428gdGVudGUgbm92YW1lbnRlLiIKCkVORAo=