LyoKICoJT0xFMk5MUyBsaWJyYXJ5CiAqICAgICAgRXNwZXJhbnRvCiAqICAgICAgCiAqICAgICAgRXNwZXJhbnRvIHNlZW1zIG5vdCB0byBiZSBzdXBwb3J0ZWQgYnkgV2luZG93cwogKgogKiAgICAgIFRPRE86IElTTyBudW1lcmljYWwgSUQgZm9yIGxhbmd1YWdlID8KICoKICoJSSBjaG9vc2UgMHg4ZiBmb3IgZXNwZXJhbnRvIGxhbmd1YWdlIGFzIGl0IGlzIGhpZ2ggZW5vdWdoCiAqCW5vdCB0byBiZSBhdHRyaWJ1dGVkIHRvIGFub3RoZXIgbGFuZ3VhZ2UgaW4gdGhlIGltbWVkaWF0ZQogKglmdXR1cmUgKGFzIG9mIDE5OTgwOTAxIHRoZSBsYXN0IG9mZmljaWFsIGxhbmd1YWdlSUQgaXMgMHg1MSkKICovCgpMT0NWQUwoTE9DQUxFX0lMQU5HVUFHRSwiMHgwNDhmIikKTE9DVkFMKExPQ0FMRV9TTEFOR1VBR0UsIkVzcGVyYW50byIpCkxPQ1ZBTChMT0NBTEVfU0VOR0xBTkdVQUdFLCJFc3BlcmFudG8iKQovKiBMT0NWQUwoTE9DQUxFX1NBQkJSRVZMQU5HTkFNRSwiZGV1IikgKi8KTE9DVkFMKExPQ0FMRV9TTkFUSVZFTEFOR05BTUUsIkVzcGVyYW50byIpCi8qIExPQ1ZBTChMT0NBTEVfSUNPVU5UUlksIiIpIG5vdCBvZmZpY2lhbCBpbiBhbnkgb25lIGNvdW50cnkgKi8KLyogTE9DVkFMKExPQ0FMRV9TQ09VTlRSWSwiIikgKi8KLyogTE9DVkFMKExPQ0FMRV9TRU5HQ09VTlRSWSwiIikgKi8KLyogTE9DVkFMKExPQ0FMRV9TQUJCUkVWQ1RSWU5BTUUsIiIpICovCi8qIExPQ1ZBTChMT0NBTEVfU05BVElWRUNUUllOQU1FLCIiKSAqLwpMT0NWQUwoTE9DQUxFX0lERUZBVUxUTEFOR1VBR0UsIjB4MDQ4ZiIpIC8qIElTTyBJRCBvZiBsYW5nIFRPRE8gKi8KLyogTE9DVkFMKExPQ0FMRV9JREVGQVVMVENPVU5UUlksIiIpICovCkxPQ1ZBTChMT0NBTEVfSURFRkFVTFRDT0RFUEFHRSwiMyIpIC8qIGlzIHRoaXMgcmlnaHQ/IFRPRE8gKi8KTE9DVkFMKExPQ0FMRV9JREVGQVVMVEFOU0lDT0RFUEFHRSwiMyIpIC8qIGlzIHRoaXMgcmlnaHQ/IFRPRE8gKi8KTE9DVkFMKExPQ0FMRV9TTElTVCwiOyIpCkxPQ1ZBTChMT0NBTEVfSU1FQVNVUkUsIjAiKQpMT0NWQUwoTE9DQUxFX1NERUNJTUFMLCIsIikKTE9DVkFMKExPQ0FMRV9TVEhPVVNBTkQsIi4iKQovKiBMT0NWQUwoTE9DQUxFX1NHUk9VUElORykgKi8KTE9DVkFMKExPQ0FMRV9JRElHSVRTLCIyIikKTE9DVkFMKExPQ0FMRV9JTFpFUk8sIjEiKQovKiBMT0NWQUwoTE9DQUxFX0lORUdOVU1CRVIpICovCi8qIExPQ1ZBTChMT0NBTEVfU05BVElWRURJR0lUUykgKi8KTE9DVkFMKExPQ0FMRV9TQ1VSUkVOQ1ksIk5MRyIpIC8qIGFjY291bnRpbmcgY3VycmVuY3kgb2YgVUVBICovCi8qIExPQ1ZBTChMT0NBTEVfU0lOVExTWU1CT0wpICovCi8qIExPQ1ZBTChMT0NBTEVfU01PTkRFQ0lNQUxTRVApICovCi8qIExPQ1ZBTChMT0NBTEVfU01PTlRIT1VTQU5EU0VQKSAqLwovKiBMT0NWQUwoTE9DQUxFX1NNT05HUk9VUElORykgKi8KLyogTE9DVkFMKExPQ0FMRV9JQ1VSUkRJR0lUUywiMiIpICovCi8qIExPQ1ZBTChMT0NBTEVfSUlOVExDVVJSRElHSVRTKSAqLwpMT0NWQUwoTE9DQUxFX0lDVVJSRU5DWSwiMyIpCkxPQ1ZBTChMT0NBTEVfSU5FR0NVUlIsIjgiKQpMT0NWQUwoTE9DQUxFX1NEQVRFLCIuIikKTE9DVkFMKExPQ0FMRV9TVElNRSwiOiIpCkxPQ1ZBTChMT0NBTEVfU1NIT1JUREFURSwieXl5eS5tbS5kZCIpCkxPQ1ZBTChMT0NBTEVfU0xPTkdEQVRFLCJkZGQsIGQuIE1NTU0geXl5eSIpCi8qIExPQ1ZBTChMT0NBTEVfU1RJTUVGT1JNQVQpICovCkxPQ1ZBTChMT0NBTEVfSURBVEUsIjEiKQovKiBMT0NWQUwoTE9DQUxFX0lMREFURSkgKi8KTE9DVkFMKExPQ0FMRV9JVElNRSwiMSIpCi8qIExPQ1ZBTChMT0NBTEVfSVRJTUVNQVJLUE9TTikgKi8KLyogTE9DVkFMKExPQ0FMRV9JQ0VOVFVSWSkgKi8KTE9DVkFMKExPQ0FMRV9JVExaRVJPLCIxIikKLyogTE9DVkFMKExPQ0FMRV9JREFZTFpFUk8pICovCi8qIExPQ1ZBTChMT0NBTEVfSU1PTkxaRVJPKSAqLwovKiBMT0NWQUwoTE9DQUxFX1MxMTU5KSAqLwovKiBMT0NWQUwoTE9DQUxFX1MyMzU5KSAqLwovKiBMT0NWQUwoTE9DQUxFX0lDQUxFTkRBUlRZUEUpICovCi8qIExPQ1ZBTChMT0NBTEVfSU9QVElPTkFMQ0FMRU5EQVIpICovCi8qIExPQ1ZBTChMT0NBTEVfSUZJUlNUREFZT0ZXRUVLKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lGSVJTVFdFRUtPRllFQVIpICovCgpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMSwibHVuZG8iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMiwibWFyZG8iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FMywibWVya3JlZG8iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNCwivGH9ZG8iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNSwidmVuZHJlZG8iKQpMT0NWQUwoTE9DQUxFX1NEQVlOQU1FNiwic2FiYXRvIikKTE9DVkFMKExPQ0FMRV9TREFZTkFNRTcsImRpbWFu5m8iKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMSwibHUiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMiwibWEiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FMywibWUiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNCwivGEiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNSwidmUiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNiwic2EiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZEQVlOQU1FNywiZGkiKQoKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMSwiamFudWFybyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTIsImZlYnJ1YXJvIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FMywibWFydG8iKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU0LCJhcHJpbG8iKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU1LCJtYWpvIikKTE9DVkFMKExPQ0FMRV9TTU9OVEhOQU1FNiwianVuaW8iKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU3LCJqdWxpbyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTgsImH9Z3VzdG8iKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUU5LCJzZXB0ZW1icm8iKQpMT0NWQUwoTE9DQUxFX1NNT05USE5BTUUxMCwib2t0b2JybyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTExLCJub3ZlbWJybyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEyLCJkZWNlbWJybyIpCkxPQ1ZBTChMT0NBTEVfU01PTlRITkFNRTEzLCIiKQoKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMSwiamFuIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMiwiZmViIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMywibWFyIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNCwiYXByIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNSwibWFqIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNiwianVuIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FNywianVsIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOCwiYf1nIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FOSwic2VwIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTAsIm9rdCIpCkxPQ1ZBTChMT0NBTEVfU0FCQlJFVk1PTlRITkFNRTExLCJub3YiKQpMT0NWQUwoTE9DQUxFX1NBQkJSRVZNT05USE5BTUUxMiwiZGVjIikKTE9DVkFMKExPQ0FMRV9TQUJCUkVWTU9OVEhOQU1FMTMsIiIpCgovKiBMT0NWQUwoTE9DQUxFX1NQT1NJVElWRVNJR04pICovCi8qIExPQ1ZBTChMT0NBTEVfU05FR0FUSVZFU0lHTikgKi8KLyogTE9DVkFMKExPQ0FMRV9JUE9TU0lHTlBPU04pICovCi8qIExPQ1ZBTChMT0NBTEVfSU5FR1NJR05QT1NOKSAqLwovKiBMT0NWQUwoTE9DQUxFX0lQT1NTWU1QUkVDRURFUykgKi8KLyogTE9DVkFMKExPQ0FMRV9JUE9TU0VQQllTUEFDRSkgKi8KLyogTE9DVkFMKExPQ0FMRV9JTkVHU1lNUFJFQ0VERVMpICovCi8qIExPQ1ZBTChMT0NBTEVfSU5FR1NFUEJZU1BBQ0UpICovCg==